Django:有效字段查找运算符的列表

oog*_*les 4 django django-queryset

Django是否具有所有有效字段查找运算符的可访问列表(QuerySet API使用的那些运算符,例如'contains','in','lt'等)?

谢谢

编辑:为了澄清,我的意思是我可以导入的代码内列表,例如,我可以检查给定的字符串是否匹配有效的运算符.

Yuj*_*ita 8

在搜索运营商的来源之后,它就存在了django.db.models.sql.constants.QUERY_TERMS.

查找字符串的字典映射到None.

'exact' in QUERY_TERMS
Run Code Online (Sandbox Code Playgroud)

谢谢你!永远不会去寻找,但我绝对可以使用它.


oog*_*les 8

从 Django 2.1 开始,django.db.models.sql.constants.QUERY_TERMS常量被删除。根据发行说明,Django 推荐使用 Lookup Registration APIget_lookups()的方法作为替代方法。

对于模型上的给定字段,可以通过以下方式访问它:

MyModel._meta.get_field('my_field').get_lookups()
Run Code Online (Sandbox Code Playgroud)