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

时间:2011-03-17 23:48:04

标签: django django-queryset

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

由于

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

3 个答案:

答案 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 APIget_lookups()方法作为替代方法。

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

MyModel._meta.get_field('my_field').get_lookups()