Una vez que has creado un modelo, Django provee automáticamente una API Python
de alto nivel para trabajar con estos modelos. Prueba ejecutando
python manage.py shell
y escribiendo lo siguiente:
>>> from books.models import Publisher
>>> p1 = Publisher(name='Addison-Wesley', address='75 Arlington Street',
... city='Boston', state_province='MA', country='U.S.A.',
... website='http://www.apress.com/')
>>> p1.save()
>>> p2 = Publisher(name="O'Reilly", address='10 Fawcett St.',
... city='Cambridge', state_province='MA', country='U.S.A.',
... website='http://www.oreilly.com/')
>>> p2.save()
>>> publisher_list = Publisher.objects.all()
>>> publisher_list
[<Publisher: Publisher object>, <Publisher: Publisher object>]
Estas pocas líneas logran bastantes resultados. Estos son los puntos salientes:
- Para crear un objeto, sólo importa la clase del modelo apropiada y crea una instancia pasándole valores para cada campo.
- Para guardar el objeto en la base de datos, llama el método
save()
del objeto. Detrás de la escena, Django ejecuta aquí una sentencia SQLINSERT
. - Para recuperar objetos de la base de datos, usa el atributo
Publisher.objects
. Busca una lista de todos los objetosPublisher
en la base de datos con la sentenciaPublisher.objects.all()
. Detrás de escenas, Django ejecuta aquí una sentencia SQLSELECT
.
Naturalmente, puedes hacer mucho con la API de base de datos de Django — pero primero, tengamos cuidado de una pequeña incomodidad.