JRE*_*EAM 4 django django-models
我正在尝试使用ManyToMany关系进行搜索查询,这是我到目前为止所做的:
designs = designs.filter(Q(title__icontains = search) |
Q(tags__icontains = search))
Run Code Online (Sandbox Code Playgroud)
你知道如何搜索查询中的tags.title字段吗?
这是模特,我把它们清理干净,所以它们不是很长:)
class Design(models.Model):
title = models.CharField(max_length = 50, default = "")
slug = models.SlugField(unique = True)
user = models.ForeignKey(User, related_name = "design_user")
description = models.TextField()
tags = models.ManyToManyField(to = Tags)
class Tags(models.Model):
title = models.CharField(max_length = 50, unique = True)
# Allows the category to list as a dropdown in the admin
def __unicode__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)
我查找的大多数问题都是使用过滤器而我不是Django的主人,所以我希望这不会增加一个重复的问题.
用正确的做到这一点field_lookup:tags__title__icontains = search:
designs = designs.filter(Q(title__icontains = search) |
Q(tags__icontains = search) |
Q(tags__title__icontains = search))
Run Code Online (Sandbox Code Playgroud)
字段查找非常有用,您应该查看文档.