Получение результатов из таблицы, которая имеет 2 отношения «один ко многим» - PullRequest
0 голосов
/ 05 августа 2010

В моем приложении у меня есть модель, которая выглядит следующим образом:

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 Ответ

1 голос
/ 05 августа 2010

Я думаю, что поле members_attended в вашей модели EventAttendance было бы лучше, чем ManyToManyField

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

Это позволит легко получить необходимую информацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...