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
-~----------~----~----~----~------~----~------~--~---

Reply via email to