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

Modello Django per una vista Postgres

Django crea una migrazione per ogni tabella appena aggiunta nella tua app indipendentemente dal fatto che si tratti di un modello gestito o meno. Tuttavia c'è una differenza molto importante e sottile quando usi il managed=False ambientazione. La migrazione risultante è una voce fittizia. Non esegue affatto SQL.

Per confermare, aggiungi un nuovo modello non gestito

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

    class Meta:
       managed = False

ora quando esegui makemigrations seguito da sqlimigrate *myapp* *migration_number* vedrai che non produce sql.

Se d'altra parte, scopri che Django sta cercando di creare una tabella per te, di solito significa che avevi lo stesso modello esistente in precedenza ma al momento il modello è stato gestito. Per confermare, cerca nelle tue migrations cartella per VirtualTotal che è il nome del modello in questione.