J'ai ajouté quelques modèles dans mon fichier models.py et je veux ajouter une classe d'administration pour utiliser un éditeur wysiwyg dans les champs de texte. Eh bien, je sais que Django lui-même ne supporte pas les migrations et j'ai utilisé South, mais ça ne marche pas non plus.
South ne "voit" pas le changement.
Est-il possible que South détecte les changements de champs, mais pas si j'ajoute une nouvelle classe?
Comment paramétrer Django pour détecter de tels changements?Comment ajouter une classe Admin à un modèle après syncdb?
Répondre
Vous semblez être très confus, malheureusement. Bien sûr, Django lit le code dans models.py - sinon quel serait le but de celui-ci? Django utilise ce code initialement pour définir le SQL modèle lorsque vous faites syncdb, mais il ne modifie pas la base de données existante tables dans les appels suivants à syncdb - d'où la nécessité du Sud.
Mais naturellement, Django utilise models.py et admin.py et tous les autres code Python pour définir sa propre configuration et de l'état. (Et notez que les classes d'administration ne sont pas définies dans models.py mais admin.py.)
Si vous ne voyez pas les changements, vous devrez redémarrer votre serveur.
syncdb
et Sud ne concernent que les descendants de Model
dans les applications répertoriées dans INSTALLED_APPS
. Tout le reste est géré directement par Django.
Mais si j'ajoute un administrateur de classe ou une méta-classe au modèle, comment Django le voir? Je pensais que Django lisait juste la base de données et non models.py – x0rg
Pourquoi ne * pas * lire * models.py? Ce module contient du code Python, et Django est écrit en Python. –
Je suis assez sûr que si vous suivez les étapes décrites dans le tutoriel pour créer une application admin ça va marcher. La migration n'est pas un problème car l'application d'administration crée de nouvelles tables plutôt que d'en modifier une existante.
- 1. Comment ajouter un événement à une classe
- 2. Django Admin - Désactiver l'action 'Ajouter' pour un modèle spécifique
- 3. Django admin: comment ajouter un champ de modèle indépendant à une page de modification/d'ajout de modèle?
- 4. Ajouter un modèle de regroupement à un ASP: Répéteur qui affiche après un modèle d'en-tête
- 5. Comment ajouter un nouvel élément à une classe existante?
- 6. Comment ajouter du javascript personnalisé à WordPress Admin?
- 7. Ajouter une classe à un élément
- 8. Comment ajouter une méthode de modèle à une classe existante dans une session interactive (dans iPython)?
- 9. Afficher une relation un-à-plusieurs pour un modèle dans Django admin (mode liste)
- 10. WordPress ajouter une nouvelle page à la section admin
- 11. Mootools ajouter une classe à 'a' href = "quelque chose"
- 12. Comment ajouter un objet IDisposable + delegate à une classe existante
- 13. Comment ajouter une classe à un contenu chargé avec jQuery
- 14. Comment puis-je ajouter une classe à un CodeIgniter Anchor
- 15. Comment ajouter une classe HTML à un script PHP
- 16. Comment ajouter une classe à un widget dojo?
- 17. C#: Comment ajouter un destructeur à une classe personnalisée?
- 18. Comment ajouter une 'nouvelle' classe à un vecteur
- 19. comment ajouter dynamiquement une classe à un paragraphe?
- 20. Comment ajouter un enregistreur d'erreurs à une classe
- 21. Django: Révéler méthode de modèle à admin
- 22. Django, Overriding comportement Admin Modèle
- 23. Comment puis-je obtenir la classe d'un modèle dans un widget via ModelForms dans Admin?
- 24. Existe-t-il un modèle pour ajouter des "options" à une classe?
- 25. XSLT - Ajouter une classe à quelque chose avec une classe?
- 26. Zend_Form - ajouter une classe CSS :: Comment ajouter une classe css à l'étiquette dans Zend_Form?
- 27. Déboguer Django Admin Modèle Résolution
- 28. Admin Django: Ajouter TinyMCE à TextField particulier seulement?
- 29. Ajouter un enfant à une scène à partir d'une classe
- 30. Comment ajouter un champ temporaire à un modèle dans Django?
Merci, ça m'aide beaucoup. Je ne pourrais pas le tester réellement, mais je le ferai une fois que j'en aurai l'occasion. – x0rg