0

我设置了几个模型,用户和事件。我希望用户能够为自己添加事件。我可能完全错了,但到目前为止我有这些模型:

class Profile(models.Model):
    user = models.OneToOneField(User)
    name = models.CharField(max_length=50)

    def __unicode__(self):
        return self.name

class eventItem(models.Model):
    user = models.ForeignKey(Profile)
    event = models.ForeignKey(Event)

    def __unicode__(self):
        return self.event.title

class Event(models.Model):
    def __unicode__(self):
        return self.title
    event_id = models.BigIntegerField(blank = 'TRUE', primary_key='TRUE')
    title = models.CharField(max_length=200, blank = 'TRUE')

我正在尝试编写一个在用户单击事件旁边的按钮时激活的视图。结果应该以某种方式将用户和事件链接在一起,以便我稍后可以查看每个用户正在参加的事件列表。我想我也可能为 eventItem 使用了错误的字段类型。由于许多用户可以链接到同一个事件并且许多事件可以链接到一个用户,我应该使用多对多吗?

4

1 回答 1

1

简化一点:您拥有用户和事件,其中每个用户可以拥有多个事件,一个事件可以拥有多个用户。这意味着在这种情况下,最好的方法是使用多对多,正如您最后建议的那样。您避免使用“eventItem”,而是直接从事件访问(在 django 中)用户,反之亦然。

于 2013-06-11T19:26:51.887 回答