如何在不区分大小写的情况下执行model.objects.get(** kwargs)

时间:2019-02-01 19:12:23

标签: django python-3.x

我想通过不区分大小写的方式使用字典来获取我的Django模型之一的实例。目前,我正在使用:

my_model.objects.get(** dictionary)

但是如果字典中的实例与实例的字段之间的大小写存在差异,我就不会得到实例。

您认为执行此操作有一种干净的方法吗?

1 个答案:

答案 0 :(得分:3)

Django使用WHERE过滤器从您提供的字典键中完全加载对象。您可以自行提供field lookups;您可以使用iexact field lookup type,但你需要对使用此的文本的领域。

因此,如果要匹配特定的字符串字段(不区分大小写),请将__iexact添加到dictionary中的键;例如{'foo': 'bar'}成为{'foo__iexact': 'bar'}