2010-08-05 105 views
0

在我的应用程序有一个模型,看起来像这样:从表中获取结果有2个一个一对多的关系

class Talk(models.Model): 
    title = models.CharField(max_length=200, primary_key=True) 
    speaker = models.CharField(max_length=200) 
    date_of_talk = models.DateField('date_of_talk') 
    def __unicode__(self): 
     return self.title 

class Member(models.Model): 
    name = models.CharField(max_length=200) 
    telephone_number = models.CharField(max_length=200) 
    email_address = models.CharField(max_length=200) 
    membership_type = models.CharField(max_length=1, choices=MEMBERSHIP_TYPES) 
    membership_number = models.CharField(max_length=200, primary_key=True) 
    def __unicode__(self): 
     return self.name  
class Event_Attendance(models.Model): 
    talk = models.ForeignKey('Talk') 
    membersAttended = models.ForeignKey('Member') 
    def __unicode__(self): 
    return '%s attended %s' %(unicode(self.membersAttended), unicode(self.talk)) 

而且我希望能够从Event_Attendance拔出所有结果模型当我输入一个谈话。这是为了让我可以得到出席者的姓名。我尝试过的每件事都失败了,例如:

a = Event_Attendance(talk="Meteors") 

其他人有什么想法吗?
由于事先
院长

回答

1

我想在你的EventAttendance模型members_attended场会更好,作为一个ManyToManyField

class EventAttendance(models.Model): 
    talk = models.ForeignKey(Talk) 
    members_attended = models.ManyToManyField(Member) 

这将可以很容易地得到你想要的信息。

+0

我也应该使用通过,因为我管理表“手动” – Dean 2010-08-05 17:16:16

相关问题