2012-07-06 66 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

相關問題