有一个模型与我想要连接到另外两个模型的对象(Django)

时间:2013-06-18 14:20:16

标签: django django-models

我需要" eventList"连接到"事件"和" customEvent"。我不确定如何在其上声明ManyToManyFields。我现在拥有的是:

    eventList = models.ManyToManyField(Event, blank="TRUE", null="TRUE", related_name='event_set+')
    eventList = models.ManyToManyField(customEvent, blank="TRUE", null="TRUE")

我认为这不起作用,因为它只是在第二行重新分配eventList。我怎么能完成这个?

1 个答案:

答案 0 :(得分:1)

你可以这样做:

class EventConnect(models.Model)
    events = models.ForeignKey(MyEvent)
    eventList = models.ForeignKey(Event, blank="true", null="true", related_name='event_set+')
    customEventList = models.ForeignKey(customEvent, blank="true", null="true", related_name='customevent_set+')

    class Meta:
        unique_together('events', 'Event', 'customEvent')

class MyEvent(models.Model):
    #rest of the fields..

请注意,ForeignKey在中间表中已足够。您不能针对同一模型字段分配多个到多个。 (比如将2个不同的值分配给同一个数据库列 - 除非您自己管理密钥,否则这是不可能的。)