On Sun, Jun 22, 2008 at 6:19 AM, bussiere maillist <
[EMAIL PROTECTED]> wrote:

>
> how can i display object in a m2M field ?
> i've tried with the dem function but it didn't work
>
> regards
> Bussiere
>
> class Agent(models.Model):
>    nom = models.CharField(maxlength=60)
>    service = models.ForeignKey(Service)
>    telephone = models.CharField(maxlength=60,blank=True,null=True)
>    email = models.EmailField(blank=True,null=True)
>    def __str__(self):
>        return self.nom
>    class Admin:
>        pass
>
> class Entreprise(models.Model):
>    nom = models.CharField(maxlength=60)
>    service = models.ForeignKey(Service)
>    telephone = models.CharField(maxlength=60)
>    email = models.EmailField(blank=True,null=True)
>    def __str__(self):
>        return self.nom
>    class Admin:
>        pass
>
>
>
> class Intervention(models.Model):
>    state = models.CharField(maxlength=10,choices=State_Choices)
>    description  = models.ManyToManyField(Description,blank=True,null=True)
>    date_crea = models.DateTimeField('date_crea',blank=True,null=True)
>    date_ferm = models.DateTimeField('date_ferm',blank=True,null=True)
>    demandeur =
> models.ManyToManyField(Agent,blank=True,null=True,related_name='demandeur')
>    concerne =
> models.ManyToManyField(Agent,blank=True,null=True,related_name='concerne')
>    service = models.ManyToManyField(Service,blank=True,null=True)
>    intervenant = models.ManyToManyField(Entreprise,blank=True,null=True)
>    note = models.ForeignKey(Note,blank=True,null=True)
>    solution = models.ForeignKey(Solution,blank=True,null=True)
>    typepanne = models.ForeignKey(TypePanne,blank=True,null=True)
>    upload_image =
> models.ImageField(upload_to='images',blank=True,null=True)
>    upload_file = models.FileField(upload_to='files',blank=True,null=True)
>
>    def dem(self):
>        string = ''
>        for agent in self.demandeur :
>            string = agent
>        return str(string)
>
>
First, you are overwriting, not adding to, 'string' on each iteration of the
loop.  Second self.demandeur is a ManyRelatedManager which you cannot
iterate through.  If you want to iterate through the items in the set you
have to call .all() on the ManyRelatedManager.  Something like (untested)
should do it:

def dem(self):
    return ' '.join([str(agent) for agent in self.demandeur.all()])

Karen

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