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を使ったモデルを作ったことがないので、それが原因かもしれないと思っています。ただし、2つのForeignKeyを使用したDjangoドキュメントの例を見たことがあり、それらは私とまったく同じように機能しました。

多くの検索の後、私はまだそれを理解することができません。

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 に答える