10
votes

Utilité de gérer = Faux option dans les modèles Django

dans les modèles Django, nous avons une option nommée géré qui peut être défini true ou false

Selon la documentation, la seule différence que cette option est de savoir si la table sera gérée par Django ou non. La direction de Django ou par nous fait-elle une différence?

Y a-t-il des avantages et des inconvénients d'utiliser une option plutôt que d'autres?

Je veux dire pourquoi choisirions-nous pour géré = faux ? Cela donnera-t-il un contrôle supplémentaire ou un certain pouvoir qui affecte mon code?


0 commentaires

3 Réponses :


16
votes

La principale raison de l'utilisation gérée = false est si votre modèle est sauvegardé par quelque chose comme une vue de base de données, au lieu d'une table - de sorte que vous ne voulez pas que Django soit émettre Create Table Commandes lorsque vous exécutez Syncdb .


0 commentaires

9
votes

juste de Django Docs :

géré = FALSE est utile si le modèle représente une table existante ou une vue de base de données créée par certains autres moyens. Ceci est la seule différence lorsque géré = false . Tous les autres aspects de la manutention du modèle sont exactement les mêmes que la normale


0 commentaires

5
votes

Lorsque jamais nous créons le modèle Django, la gérée = vraie implicitement est implicitement vrai par défaut. Comme nous savons que lorsque nous exécutons python manage.py makemigrations le fichier de migration (que nous pouvons dire une vue dB) est créé dans le dossier de migration de l'application et appliquer cette migration i.e Crée la table en DB ou nous pouvons dire schéma.

Donc par géré = faux , nous limitons Django à créer une table (schéma, mise à jour le schéma de la table) de ce modèle ou de ses champs spécifiés dans Fichier de migration.

Pourquoi nous utilisons-nous?

Case1: Parfois, nous utilisons deux dB pour le projet de Exemple Nous avons DB1 (par défaut) et DB2, donc nous ne voulons pas particulièrement modèle à créer le schéma ou la table dans db1 afin que nous puissions cela ou que nous pouvons Personnalisez la vue DB.

cas2. À Django Orm, la table de base de données est liée au modèle Django Orm, il Aidez à attacher une vue de base de données à lier avec un modèle Django Orm.

peut également passer par le lien :

Nous pouvons ajouter notre SQL brut pour la vue de dB dans le fichier de migration.

Le SQL brut dans la migration ressemble : En 0001_initial.py

de futur importation Unicode_Literals xxx

ci-dessus est juste pour une vue d'ensemble de la recherche du fichier de migration, peut passer par un lien ci-dessus pour bref.


0 commentaires