Je travaille sur une application Django pour l'hébergement de médias (en particulier audio et images). J'ai des galeries d'images et des photos séparées dans mon modèle, et les ai liées avec un ForeignKey
(je ne sais pas si c'est correct, mais j'apprends toujours). Ce dont j'ai besoin, c'est que le __unicode__
de la classe Album renvoie le nom d'utilisateur du propriétaire de l'album.Django Modèle: Nom d'utilisateur de retour de l'utilisateur actuellement connecté
class Album(models.Model):
artist = models.ForeignKey(User, unique=True, related_name='artpunk')
def __unicode__(self):
return self.artist.username
Je sais la propriété nom d'utilisateur existe, et confirmé par l'insertion d'un dir()
et vérifier la sortie de la console. Le problème est lorsque j'entre dans la section image du panneau d'administration, il indique simplement "Commande non reconnue". Les propriétés User
ne peuvent-elles pas être accédées par les modèles? Ou est-ce que je fais quelque chose d'autre?
EDIT: J'ai oublié de mentionner, en utilisant Python 2.6 avec Django 1.0.2. Le texte exact de l'erreur est, comme ci-dessus, simplement "Commande non reconnue" en gras, et j'ai déjà exécuté syncdb
sans problème. Cependant, je l'ai rediffusé syncdb
ce matin juste pour essayer encore et maintenant il semble fonctionner correctement.
Il est reproductible en changeant les éléments suivants:
def __unicode__(self):
return self.artist.username
à quelque chose comme ceci:
def __unicode__(self):
return self.artist.username+'\'s Gallery'
Pouvez-vous poster le texte exact de toute erreur? – user27478