0

私はdjango/pythonを使用しています。

データの出所は次のとおりです。ユーザーは、<select name="op_assignedTo">

私も使っています<option value="username">

データはPOSTを介して送信され、djangoビューで収集されます。

op_assignedTo = request.POST.getlist('op_assignedTo')

しかし、次の行は私にエラーを与えます: assignedTo_list = Item.objects.filter(assignedTo__in=op_assignedTo)

私はstackoverflowに関する他の質問に対する他の多くの回答から上記の行を得ました。私はエラーで混乱しています。

temp = Item.objects.filter(assignedTo='matthew')

同じエラーが発生します、"Value Error" - invalid literal for int() with base 10: 'matthew'.

投稿の最初の部分がまったく意味をなさない場合は、投稿したコードの最後の行を見てください。皆さんありがとう!

4

2 に答える 2

1

どのようなフィールドが割り当てられていますか?これは外部キーだと思います。その場合、文字列を渡すときにIDに対してフィルターを実行しようとします。私は正しいですか?

ここでの問題は、assignedToがintとして扱われ(intであるか、外部キーIDなどのintに基づいて比較されている)、比較する文字列を渡していることです。これは無効です。

于 2012-04-28T19:26:33.813 に答える
0

ForeignKey全体でフィールドを照会するには、二重アンダースコア構文を使用します__

https://docs.djangoproject.com/en/dev/topics/db/queries/#lookups-that-span-relationships

temp = Item.objects.filter(assignedTo__username='matthew')
于 2012-04-28T21:19:08.947 に答える