ドキュメント place_names にフィールドがあり、場所のすべての可能な場所名のリストです。例 New York City with have New York City, NYC, big apple など。ユーザーがこれらの値のいずれか、または上記の値の任意の部分を照会できるようにしたいと考えています。たとえば、彼らが「リンゴ」を検索した場合、ニューヨーク市を取り戻してほしいと思います。以下のようにmongoengineで__containsフィルターを使用しようとしていました
place_names は ListField() 型です
pn = request.POST.get('place_name', None)
try:
places_list = Places.objects()
if pn is not None and pn != "":
places_list.filter(place_names__contains = pn)
上記の例では、フィルターが期待どおりに機能しません。通常のフィルターとして機能し、「_ を含む」は実行しません。タイプが StringField() の場合、同じフィルターが正常に機能します。ListFields で「 _contains」を使用することは可能ですか? そうでない場合、これを回避する方法はありますか?ありがとう :)