sql >> Databáze >  >> RDS >> PostgreSQL

Model Django pro pohled Postgres

Django vytváří migraci pro každou nově přidanou tabulku ve vaší aplikaci bez ohledu na to, zda se jedná o spravovaný model nebo ne. Existuje však velmi důležitý a jemný rozdíl, když použijete managed=False nastavení. Výsledná migrace je fiktivní záznam. Neprovádí vůbec žádné SQL.

Chcete-li to potvrdit, přidejte nový model, který není spravován

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

    class Meta:
       managed = False

teď, když provedete makemigrations následuje sqlimigrate *myapp* *migration_number* uvidíte, že neprodukuje žádné sql.

Pokud na druhou stranu zjistíte, že se pro vás Django pokouší vytvořit tabulku, obvykle to znamená, že stejný model jste měli již dříve, ale v době, kdy byl model spravován. Chcete-li to potvrdit, vyhledejte migrations složka pro VirtualTotal což je název dotyčného modelu.




  1. Nainstalujte pdo pro postgres Ubuntu

  2. Jak vytvořit 'dvoustranný' jedinečný index na dvou polích?

  3. PHP 7.0 ODBC-ovladač pro Windows

  4. Jak přidat nový sloupec do existující tabulky v SQL Server (T-SQL)