过滤Django查询集
如果我有这些模型:过滤Django查询集,django,filter,django-queryset,Django,Filter,Django Queryset,如果我有这些模型: COLOR_OPTIONS = ( ('BLA', 'Black'), ('WHI', 'White'), ('RED', 'Red'), ) class Stuff(models.Model): text = models.CharField(max_length=20) class Thing(models.Model): stuff = models.ForeignKey(Stuff) color = models.C
COLOR_OPTIONS = (
('BLA', 'Black'),
('WHI', 'White'),
('RED', 'Red'),
)
class Stuff(models.Model):
text = models.CharField(max_length=20)
class Thing(models.Model):
stuff = models.ForeignKey(Stuff)
color = models.CharField(max_length=3, choices=COLOR_OPTIONS)
如何使用.filter()
根据不同类型的内容或不同的颜色过滤不同的内容
如何编写视图,以便过滤所有不同的颜色选项和所有不同的内容选项?这就是我的意思,但我不知道如何正确编写函数
def filter(request):
filter_color = Thing.objects.filter(color=COLOR_OPTIONS)
filter_stuff = Thing.objects.filter(stuff=???)
任何想法都值得赞赏。谢谢您的回答,但我希望它是动态的,这样我就可以编写一个视图来过滤所有不同的颜色选项或不同的内容选项。有什么想法可以帮助我吗?你是在寻找Thing.objects.filter(color=color\u OPTIONS,stuff\u text=“some text here”)
?@NickB只要用你的变量库替换“BLA”和“some text here”就可以成为一个新手,但是你能给我一个关于如何设置给定那些模型字段的变量的例子吗?谢谢你的意见。来吧,这都是有据可查的:
my_things_based_on_stuff = Thing.objects.filter(stuff__text="some text here")
my_things_based_on_colors = Thing.objects.filter(color='BLA')