试图在Django中创建两个模型之间的连接

时间:2013-06-12 20:46:55

标签: django django-models

我有两个模型,Event和Profile。

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')

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

    def __unicode__(self):
        return self.name

我有一个包含大量事件的页面,每个页面旁边都有一个按钮。单击按钮后,我希望将事件添加到用户的“eventList”中。当前的方法是为按钮分配“event_id”的值,并将其作为参数传递给dajaxice函数(不是100%确定这是最好的方法)。 dajaxice函数位于一个名为ajax.py的文件中,如下所示:

from search.models import Event
from profiles.models import Profile
from dajaxice.decorators import dajaxice_register

@dajaxice_register
def addEvent(event):
    e = Event.objects.get(pk=event)
    u = user.get_profile.eventList
    u.add(e)
    return

只是通过观察,我可以说这是非常错误的,并且问题很可能与我的函数以及我追加到eventList的方式有关。任何人对此方法都有任何想法吗?

1 个答案:

答案 0 :(得分:0)

对我而言,user.get_profile似乎会失败,因为get_profile是一个函数。

你需要打电话。

dajaxice_register
def addEvent(event):
    e = Event.objects.get(pk=event)
    u = user.get_profile().eventList
    u.add(e)
    return

更重要的是,您需要找到调试代码的方法。它并不总是那么容易。