2012-03-02 33 views
9

tôi có các mô hình:iterating qua các đối tượng có liên quan trong 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 

trong 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) 

Tôi đã thay đổi mã này bằng nhiều cách nhưng tôi liên tục nhận được lỗi này:

global name 'participant__person__mailContact_set' is not defined 

bất kỳ đề xuất nào?

+2

anh ấy chỉ đang học, tại sao bạn nên downvote? Câu hỏi là rõ ràng và ông đã đăng các mã có liên quan. – jpic

Trả lời

9
for contact in participant.person.mailcontact_set.all(): 
Các vấn đề liên quan