2010-12-20 8 views
1

私は簡単な質問があります。上記のdjangoの例を使用してください。たとえば、グループのPersonからinvite_reasonを取得するにはどうすればよいですか?その人のすべてのグループにすべての参加日を追加しますか?ありがとう。中間モデル値にアクセスするDjango

あなたがそうのように、そのためにあなたの Membershipモデルを照会する必要があります
class Person(models.Model): 
    name = models.CharField(max_length=128) 

    def __unicode__(self): 
     return self.name 

class Group(models.Model): 
    name = models.CharField(max_length=128) 
    members = models.ManyToManyField(Person, through='Membership') 

    def __unicode__(self): 
     return self.name 

class Membership(models.Model): 
    person = models.ForeignKey(Person) 
    group = models.ForeignKey(Group) 
    date_joined = models.DateField() 
    invite_reason = models.CharField(max_length=64) 

答えて

2

memberships = Membership.objects.filter(person=person, group=group) 
for membership in memberships: 
    membership.invite_reason 

代わりに、あなたが関係に基づいて、それを照会できます。

memberships = person.membership_set.filter(group=group) 
for membership in memberships: 
    membership.invite_reason 
+0

感謝の助けを! –

関連する問題