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.