sql >> Databasteknik >  >> RDS >> PostgreSQL

Django-modell för en Postgres-vy

Django skapar en migrering för varje nyligen tillagd tabell i din app oavsett om det är en hanterad modell eller inte. Det finns dock en mycket viktig och subtil skillnad när du använder managed=False miljö. Den resulterande migreringen är en dummy-post. Den kör inte någon SQL alls.

För att bekräfta detta lägg till en ny modell som inte hanteras

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

    class Meta:
       managed = False

nu när du gör makemigrations följt av sqlimigrate *myapp* *migration_number* du kommer att se att den inte producerar någon sql.

Om du å andra sidan upptäcker att Django försöker skapa en tabell åt dig, betyder det vanligtvis att du hade samma modell tidigare men vid den tidpunkt då modellen hanterades. För att bekräfta detta, sök efter dina migrations mapp för VirtualTotal vilket är namnet på modellen i fråga.




  1. Kan SQL CLR-utlösare göra detta? Eller finns det ett bättre sätt?

  2. Eliminera % symbol när du använder selenskrapa (Python)

  3. Sammanfoga sträng i MYSQL

  4. Hur lagrar man 60 Booleans i en MySQL-databas?