我有两个模型,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的方式有关。任何人对此方法都有任何想法吗?
答案 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
更重要的是,您需要找到调试代码的方法。它并不总是那么容易。