python-im-web-django-1-728

Django – Modelo, consultas y migraciones

MODELOS

Declaración

Hay que añadir la app a settings.py y luego generar las migraciones

Tipos de campos

Charfield(), Textfield(), EmailField() -> max_lenght
IntegerField(), IntegerField(), BingIntegerField, PositiveIntegerField()BooleanField(),
DecimalField() -> max_digits=5, decimal_places=2
DateField(), DateTimeField(), TimeField() -> auto_now = true o false (se usa para modificar); auto_now_add (crear)
FileField(), ImageField() -> upload_to (dnd se define el path dnd se almacenarán los archivos)

Relaciones

OneToOneField() -> uno a uno:

ForeignKey() -> Uno a muchos

class Entry(models.Model):
author = models.ForeignKey(Author)
content = models.TextField()

ManyToManyField() -> Muchos a muchos

Instancia

Debemos importar el modelo (from myapp.models import *). Podemos instanciar el modelo de tres formas diferentes
1.

2.

QUERIES

Consultas básicas

Consulta a un objeto con relación uno muchos

Ordenación

MIGRACIONES en Django

Generar una migración por primera vez

1. Creamos la app:

2. Editamos el modelo: myapp/models.py
3. Añadimos la app en el settings.py, dentro de installed_apps.
4. Generamos el fichero migración del modelo creado: python manage.py makemigrations
5. Aplicamos las migraciones y genera la base de datos: python manage.py migrate

Restaurar una migracion

1. Listamos las migraciones: python manage.py migrate myapp -l
2. Seleccionamos la migración: python manage.py migrate myapp 0002
3. Eliminamos el fichero de migración: rm myapp/migrations/migracion