2012-07-06 60 views
1

我有一个用户为任务添加时间的模型。Django TypeError:'totask'是这个函数的一个无效关键字参数

class Time(models.Model): 
    to_task = models.ForeignKey(Task) 
    appuser = models.ForeignKey(CustomUser) 
    hours = models.DecimalField(max_digits=5, decimal_places=2) 

然而,当我尝试通过建立这个模型的实例如下:

t1=Time(totask=task, appuser=user, hours=6.75) 

我得到一个错误:

TypeError: 'totask' is an invalid keyword argument for this function. 

我没有做多的任何模型ForeignKeys之前我们都认为这可能是因为这个原因。但是我在Django文档中看到了两个ForeignKey的例子,它们和我做的完全一样。

经过多次搜索,我仍然无法弄清楚。

回答

3

的问题是,你有你的模型将其定义为to_task,所以你创建一个实例时需要使用同一个名字:

t1 = Time(to_task=task, appuser=user, hours=6.75) 

不要忘记保存:

t1 = Time(to_task=task, appuser=user, hours=6.75) 
t1.save() 

可以使用create方法太:

t1 = Time.objects.create(to_task=task, appuser=user, hours=6.75) 
+0

哇,我必须从字面上理解,这是一个错误的整个时间。谢谢哈哈 – user1489223 2012-07-06 21:33:43

3

嗯...这似乎不可能错误,但你的字段是to_task不是totask。使用实际的字段名称,你是金。

+3

是的IM迟钝 – user1489223 2012-07-06 21:33:49

相关问题