Python 如何使用postgres在django中获取arrayfield数据
我正在尝试根据用户的语言(从ArrayField)获取用户列表。单个用户可以有多种语言。当我传递单语言Python 如何使用postgres在django中获取arrayfield数据,python,django,postgresql,Python,Django,Postgresql,我正在尝试根据用户的语言(从ArrayField)获取用户列表。单个用户可以有多种语言。当我传递单语言{'Hindi'}时,它会获取除使用多种语言的用户之外的所有记录,但是如果传递参数{'Hindi'、'bangla'、'kannada'}则它会给我一个特定的记录,我如何才能获取使用印地语和其他印地语的用户列表。我也尝试过。所有的,但对我不起作用。 任何帮助都将不胜感激 models.py # DESCRIPTION: This function gets the drivers list
{'Hindi'}
时,它会获取除使用多种语言的用户之外的所有记录,但是如果传递参数{'Hindi'、'bangla'、'kannada'}
则它会给我一个特定的记录,我如何才能获取使用印地语
和其他印地语
的用户列表。我也尝试过。所有的,但对我不起作用。
任何帮助都将不胜感激
models.py
# DESCRIPTION: This function gets the drivers list by lang.
@classmethod
def get_driver_by_lang(cls, driver_lang):
try:
driver_details = cls.objects.filter(language = driver_lang)
data = serializers.serialize("json", driver_details)
data = json.loads(data)
return data
except :
return False
这个怎么样:
driver_details = cls.objects.filter(language__contains = driver_lang)
它不是cls.objects.filter(language\uu contains=[driver\u lang])
?如果没有“[]”,它就可以工作了。让我用[]再次检查。用[]它会给出一个错误,但没有它,它会工作。谢谢@mhdtry建议的答案和评论。另外,您可能有错误的数据库设计。搜索特定数组元素可能是数据库设计错误的标志。检查这个