On Thu, 2007-11-08 at 09:11 -0800, Xan wrote: > Hi, > > I have these models: > > class A(models.Model): > > [...] > def __str__(self): > return "(%s, %s)" % (self.estudi, self.curs) > > > class Admin: > pass > > and > > class B(models.Model): > > estudi_oferit = models.ManyToManyField('A', blank=True, null=True) > > class Admin: > list_display = ('tipus', 'codi', 'nom', 'adreca', 'localitat', > 'cp', > 'zona_concurs', 'ordre_concurs', 'estudi_oferit') > > and when I list B elements in admin mode, in puts me address memory of > objects instead of displaying field A as I define in __str__
You have not defined __str__ on B, so this isn't entirely unexpected (although I am not completely sure what you're seeing, but anything is not unexpected here). Note that the estudi_oferit field is many-to-many, so it has no "natural" way to be represented as a string. After all, it could be referring to 10,000 objects at the other end. There's no way to display that naturally. Explicitly define a __str__ method on B that displays the fields you want. Django's default __str__ is rarely the right thing to use. Regards, Malcolm -- The cost of feathers has risen; even down is up! http://www.pointy-stick.com/blog/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---