sql >> Database teknologi >  >> RDS >> PostgreSQL

Django model til en Postgres udsigt

Django opretter en migrering for hver nyligt tilføjet tabel i din app, uanset om det er en administreret model eller ej. Der er dog en meget vigtig og subtil forskel, når du bruger managed=False indstilling. Den resulterende migrering er en dummy-indgang. Den udfører overhovedet ingen SQL.

For at bekræfte dette skal du tilføje en ny model, der ikke er administreret

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

    class Meta:
       managed = False

nu, når du foretager makemigrations efterfulgt af sqlimigrate *myapp* *migration_number* du vil se, at den ikke producerer nogen sql.

Hvis du på den anden side opdager, at Django forsøger at oprette en tabel for dig, betyder det normalt, at du havde den samme model tidligere, men på det tidspunkt, hvor modellen blev administreret. For at bekræfte dette, søg i dine migrations mappe for VirtualTotal hvilket er navnet på den pågældende model.




  1. Rails &MSSQL 2008 - Vil vi ramme barrierer?

  2. Beregning af antal hele måneder mellem to datoer i SQL

  3. MySQL gemmer urettede grafkanter effektivt

  4. Hvorfor mister Hibernate/JDBC/MySQL forbindelser efter en dag eller deromkring?