我设置了几个模型,用户和事件。我希望用户能够向自己添加事件。我可能会对此完全错误,但到目前为止我所拥有的是这些模型:
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中使用了错误的字段类型。由于许多用户可以链接到同一个事件,并且许多事件可以链接到一个用户,我应该使用ManytoMany吗?
答案 0 :(得分:1)
简化一下:您拥有的用户和事件中每个用户可以拥有多个事件,而一个事件可以拥有多个用户。这意味着在这种情况下最好的方法是使用ManyToMany,如最后所建议的那样。您可以避免使用“eventItem”,并直接从事件中访问(在django中)用户,反之亦然。