PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Modèle Django pour une vue Postgres

Django crée une migration pour chaque table nouvellement ajoutée dans votre application, qu'il s'agisse d'un modèle géré ou non. Cependant, il existe une différence très importante et subtile lorsque vous utilisez le managed=False paramètre. La migration résultante est une entrée fictive. Il n'exécute aucun SQL.

Pour confirmer cela, ajoutez un nouveau modèle non géré

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

    class Meta:
       managed = False

maintenant quand vous faites makemigrations suivi de sqlimigrate *myapp* *migration_number* vous verrez qu'il ne produit aucun sql.

Si, d'un autre côté, vous constatez que Django essaie de créer une table pour vous, cela signifie généralement que vous aviez le même modèle plus tôt, mais au moment où le modèle a été géré. Pour le confirmer, recherchez vos migrations dossier pour VirtualTotal qui est le nom du modèle en question.