2012-03-02 67 views
9

相关的对象我有这些模型:循环访问在Django

class Person(models.Model): 
    name=models.CharField(max_length=100) 
    family=models.CharField(max_length=100) 

class MailContact(models.Model): 
    person=models.ForeignKey(Person) 
    email=models.CharField(max_length=100) 
    #some fields 

class Participant(models.Model): 
    person=models.ForeignKey(Person) 
    #some fields 

views.py

emails = [] 
    for participant in participants: 
     for contact in participant__person__mailContact_set: 
     emails.append(contact.email) 
    send_mail(email_subject,email_body,'[email protected]',emails,fail_silently=False) 

我已经改变了这种代码在许多方面,但我反复出现此错误:

global name 'participant__person__mailContact_set' is not defined 

有什么建议吗?

+2

他刚刚学习,为什么downvote?问题很明显,他发布了相关的代码。 – jpic 2012-03-02 07:48:12

回答

9
for contact in participant.person.mailcontact_set.all():