Django中的通配符(Objects.filter)

Fed*_*rer 4 django

Django中是否存在要在Objects.filter中使用的通配符?

例如,是否有一个字符相当于这样做:

Prices.objects.filter(a = example1
                     ,b = example2
                    #,c = example3
)
Run Code Online (Sandbox Code Playgroud)

也就是说,我可以不把c = WILDCARD或c =*...而不是评论c,你得到了jist.谢谢.

编辑:如果您有一个可以搜索的属性的大列表,并且您只想搜索少数几个,那么您并不会完全拥有执行这些特定搜索的大量功能.我需要一些告诉Django然后对SQL的字符"这个字段无关紧要,我想要一切在这里"......不包括字段(如示例中所示)只是创建了大量的函数.

sha*_*nyu 10

尝试使用containsicontains.

这是一个例子:

Foo.objects.filter(name__icontains = 'hello') #fetches all whose name field contains 'hello'
Run Code Online (Sandbox Code Playgroud)


Gab*_*oss 7

唯一要做的是使用动态过滤的属性名称和值的字典:

filters = {"a": "example1", "b": "example2", "c": "example3" }
prices = Prices.objects.filter(**filters)
Run Code Online (Sandbox Code Playgroud)

然后在运行时设置过滤器dict,根据需要添加或删除键/值对.**过滤器是一个关键字参数.点击此处了解更多信息:

http://www.nomadjourney.com/2009/04/dynamic-django-queries-with-kwargs/