sql >> Base de Datos >  >> RDS >> PostgreSQL

Modelo de Django para una vista de Postgres

Django crea una migración para cada tabla recién agregada en su aplicación, independientemente de si es un modelo administrado o no. Sin embargo, hay una diferencia muy importante y sutil cuando usa managed=False ajuste. La migración resultante es una entrada ficticia. No ejecuta ningún SQL en absoluto.

Para confirmar esto, agregue un nuevo modelo que no esté administrado

class Dummy(models.Model):
    something = models.IntegerField()

    class Meta:
       managed = False

ahora cuando haces makemigrations seguido de sqlimigrate *myapp* *migration_number* verá que no produce ningún sql.

Si, por otro lado, descubre que Django está tratando de crear una tabla para usted, eso generalmente significa que tenía el mismo modelo en existencia antes, pero en el momento en que se administró el modelo. Para confirmar esto, busque sus migrations carpeta para VirtualTotal cuál es el nombre del modelo en cuestión.