2024-09-27 00:15:55 发布
网友
我想用一个字段过滤模型,但我想把字段作为字符串变量传递。我该怎么做
例如:
the_field = 'name' TheModel.objects.filter(the_field='Gazelle')
我应该用什么替换\u字段
您可以使用字典解包:
the_field = 'name' TheModel.objects.filter(**{the_field: 'Gazelle'})
注意字典前面的两个星号(**)。如果使用f(**{'a': 4})调用函数,则等同于使用f(a=4)调用函数
**
f(**{'a': 4})
f(a=4)
或者可以使用Q对象,并向其传递一个表示键和值的2元组:
Q
from django.db.models import Q the_field = 'name' TheModel.objects.filter(Q((the_field, 'Gazelle')))
您可以使用字典解包:
注意字典前面的两个星号(
**
)。如果使用f(**{'a': 4})
调用函数,则等同于使用f(a=4)
调用函数或者可以使用
Q
对象,并向其传递一个表示键和值的2元组:相关问题 更多 >
编程相关推荐