0

我有两个模型,事件和配置文件。

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

我有一个包含一堆事件的页面,每个事件旁边都有一个按钮。单击按钮后,我希望将事件添加到用户的“事件列表”中。当前的方法是为按钮分配“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 的方式有关。有人对此方法有任何想法吗?

4

1 回答 1

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

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

于 2013-06-12T22:30:31.113 回答