特定のアイテムのalternate_idを探す検索があります。この検索では、空白のないカンマがある場合に複数の検索を行う代わりにifを使用できます。しかし、私は自分の検索フォームが「部分検索」もできるようにしたい。したがって、*を検索すると、2ndidはすべての結果を返します。......、2ndidDjango検索フォームのヘルプで部分検索もできるようにしたい
代替IDは文字列です。整数ではありません。 __in
として私が持っている唯一の理由は、私は複数の検索を行うことができたからです。別に独自のSQLを書いてから
def search_item(request, client_id = 0):
client = None
if client_id != 0:
try:
client = models.Client.objects.get(pk = client_id)
except:
pass
items = None
Q_alt_ids = Q()
if request.method == 'POST':
form = forms.SearchItemForm(request.POST)
if form.is_valid():
alternate_id = form.cleaned_data['alternate_id']
items = client.storageitem_set.all()
if alternate_id:
alternate_ids= alternate_id.lower().split(",")
Q_alt_ids = Q(alternative_id__in = alternate_ids)
return render_to_response('items.html', {'items':items, 'client':client}, context_instance = RequestContext(request))
else:
HttpResponse(client)
if client is not None:
form = forms.SearchItemForm(initial = {'client':client.pk})
else:
form = forms.SearchItemForm()
return render_to_response('search_items.html', {'form':form}, context_instance = RequestContext(request))
私の意見を編集してください。私はファイルを編集するのが難しいと思っています。 – Shehzad009
これはメールで解決しました。私はあなたを無視したように見せたくありません。 :P –