2010-03-21 2 views
2

modèles Exemple:modèle Django: Tableau de référence clé étrangère en __unicode__ fonction pour administration

class Parent(models.Model): 
    name = models.CharField() 

    def __unicode__(self): 
     return self.name 

class Child(models.Model): 
    parent = models.ForeignKey(Parent) 

    def __unicode__(self): 
     return self.parent.name # Would reference name above 

Je veut l'enfant. unicode pour faire référence à Parent.name, principalement pour la section admin, donc je ne me retrouve pas avec "Child object" ou similaire, je préfère l'afficher plus comme "Child of". Est-ce possible? La plupart de ce que j'ai essayé n'a pas fonctionné malheureusement.

Répondre

3
return u'Child of %s' % unicode(self.parent) 

Il est évident que vous avez défini une méthode __unicode__() dans le parent qui fait sens, non?

+0

Oh fffffff je vois. Cela fonctionne, merci. Apparemment, ma méthode __unicode__ ne fonctionnait pas correctement (?), J'ai utilisé __str__ et CELA est apparu dans l'admin. Une idée de pourquoi c'est? Je pensais que Django appelait __unicode__ par défaut? –

+1

'{{obj}}' dans un template appelle 'unicode (obj)'. Tout le reste est laissé à Python. –

Questions connexes