1

我有一个模型供用户为任务添加时间。

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 的示例,它们的功能与我完全相同。

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

4

2 回答 2

3

嗯......这似乎不可能是错误的,但你的领域to_task 不是 totask。使用实际的字段名称,您就可以了。

于 2012-07-06T19:44:42.177 回答
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)
于 2012-07-06T19:44:45.623 回答