尝试使用Django链接两个模型

尝试使用Django链接两个模型,django,django-models,Django,Django Models,我设置了几个模型,包括用户和事件。我希望用户能够向自己添加事件。我可能完全错了,但到目前为止,我拥有的是这些模型: class Profile(models.Model): user = models.OneToOneField(User) name = models.CharField(max_length=50) def __unicode__(self): return self.name class eventItem(models.Model

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

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使用了错误类型的字段。由于多个用户可以链接到同一个事件,而多个事件可以链接到一个用户,我是否应该使用多个?

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

谢谢,我读了更多内容,并将其更改为“eventItem”。现在,当我单击按钮并将事件添加到按钮中用户的“事件列表”中时,如何编写激活的视图,您有两个选择:要么使用GET方法(使用url),要么使用POST方法(表单或javascript)。在视图中,您应该在捕获请求后使用user.eventList.add(event)。方法==“POST”或请求。方法==“GET”,以及相应的数据request.POST/request.GET。尝试在文档中查看关于在Django中获取和发布的信息。