Django是否具有所有有效字段查找运算符的可访问列表(QuerySet API使用的运算符,例如'contains','in','lt'等)?
由于
编辑:为了澄清,我的意思是我可以导入的代码内列表,例如,我可以检查给定的字符串是否与有效的运算符匹配。
答案 0 :(得分:8)
在搜索运营商的来源后,它位于django.db.models.sql.constants.QUERY_TERMS
。
将查找字符串映射到None
的字典。
'exact' in QUERY_TERMS
谢谢!永远不会去看,但我绝对可以使用它。
答案 1 :(得分:0)
他们在
your_model._meta.fields[index].class_lookups
这是字典。
答案 2 :(得分:0)
从Django 2.1开始,django.db.models.sql.constants.QUERY_TERMS
常量已删除。对于release notes,Django建议使用Lookup Registration API的get_lookups()
方法作为替代方法。
对于模型上的给定字段,可以通过以下方式访问:
MyModel._meta.get_field('my_field').get_lookups()