Python/Django AttributeError "Objet" acteurs "n'a pas d'attribut "champs"
Je suis en train d'ouvrir la page admin pour que je puisse être en mesure de l'utiliser pour ajouter des données, les joueurs dans ce cas. Lorsque vous allez et tentez de vous inscrire, les Joueurs de classe dans admin.py vous obtenez le message d'erreur décrit dans la question du titre (objet "acteurs" n'a pas d'attribut "champs"). En regardant à travers views.py que j'ai collé un extrait de ci-dessous, je ne vois pas ce qu'il peut être fait référence à l'.
Désolé si c'est une question de noob, je suis assez nouveau à la fois django et python.
class Players(models.Model):
player_id = models.IntegerField(primary_key=True)
firstname = models.CharField(max_length=50)
lastname = models.CharField(max_length=50)
team = models.ForeignKey(Teams)
Top200rank = models.IntegerField(null=True, blank=True)
position = models.CharField(max_length=25)
roster_status = models.ForeignKey(RosterStatus, null=True, blank=True)
class Meta:
ordering = ('lastname', 'firstname')
verbose_name_plural = 'Players'
def __unicode__(self):
return u"%s %s" % (self.firstname, self.last_name)
Fournir votre admin code de l'enregistrement. Il semble que le problème n'.
Et "unicode" doit être la méthode, pas la fonction globale. Juste appliquer un retrait à droite.
Il était en retrait, je ne l'ai pas scoot il de plus dans ma pâte. Il semble que j'ai résolu ce problème en déplaçant les Joueurs à s'inscrire en ligne admin.py par lui-même.
Et "unicode" doit être la méthode, pas la fonction globale. Juste appliquer un retrait à droite.
Il était en retrait, je ne l'ai pas scoot il de plus dans ma pâte. Il semble que j'ai résolu ce problème en déplaçant les Joueurs à s'inscrire en ligne admin.py par lui-même.
OriginalL'auteur CaleyWoods | 2010-09-01
Vous devez vous connecter pour publier un commentaire.
Correctif a été en admin.py voir ci-dessous.
Avant:
Après:
foozball admin fichier python
admin.site.register((Teams, Players))
devrait fonctionner aussi bien.OriginalL'auteur CaleyWoods
L'erreur spécifique que vous obtenez est important:
Cette erreur vient de la ligne,
mais plus spécifiquement vient du fait que le couplage des deux modèles que vous avez fait signifie quelque chose d'assez spécifique, à savoir que le deuxième objet (ici les Joueurs) est un modèle objet admin associé avec le premier objet (ici Équipes, toujours un Django modèle). Un modèle objet admin doit avoir un attribut "champs", qui donne des informations sur la façon dont un modèle individuel de l'attribut champs sont affichés lors de l'utilisation de l'interface d'administration. Puisque les Joueurs n'est pas un modèle objet admin, et ne pas avoir un attribut nommé "champs", Djagno soulève une exception. Cliquez ici pour plus d'informations.
Une solution rapide à cette situation est que vous l'avez deviné, de les séparer en différentes registre des appels:
OriginalL'auteur smessing
J'ai eu le même message d'erreur, dans mon cas, j'avais oublié d'hériter de mon Admin classe de
models.Admin
Avant:
Après:
OriginalL'auteur Pramod
Avez-vous l'installation d'un ModelAdmin?
classe PlayersAdmin(admin.ModelAdmin):
OriginalL'auteur user375348