2010-01-16 6 views
3

J'ai créé un modèle dans une de mes applications qui fonctionne bien. Cependant, j'avais besoin d'ajouter un nouveau champ. Je l'ai fait, et utilisé manage.py reset <appname> pour déposer les tables et les ajouter à nouveau. Ce processus s'est bien passé - le nouveau champ apparaît dans la base de données. Toutefois, je n'arrive pas à afficher le champ dans l'interface d'administration, ni dans le formulaire de modèle personnalisé que j'ai créé. Parce que je ne lui ai pas donné une valeur par défaut (et je ne veux pas, je ne devrais pas le faire), je ne peux pas utiliser une méthode pour ajouter une ligne dans la base de données. Des idées?Nouveau champ dans le modèle Django n'apparaît pas dans l'interface d'administration ou les formulaires de modèle

extrait du modèle:

use_balance = models.BooleanField() 

Répondre

6

Avez-vous redémarré votre serveur?

+0

Plusieurs fois! Mais pour une raison quelconque, cette fois, cela a fonctionné. Comme c'est bizarre ... Merci! –

+1

Il serait préférable de savoir quelle commande appeler pour vider les paramètres au lieu de se limiter à redémarrer jusqu'à ce que les nouveaux champs apparaissent par magie. –

1

Par hasard, avez-vous oublié de mettre à jour vos définitions ModelAdmin?

+0

Je ne fais rien de spécial là-bas: admin.site.register (Compte) –

+0

Hmmm, cela aurait aussi été ma première conjecture. Dès que vous commencez à spécifier des champs dans le code ModelAdmin, vous devenez responsable de le maintenir à jour. C'est pourquoi je préfère garder le ModelAdmin directement sous le model.Model, par opposition au fichier admin.py séparé suggéré. –

Questions connexes