过滤Django Queryset

时间:2013-01-09 07:38:01

标签: 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.CharField(max_length=3, choices=COLOR_OPTIONS)

如何使用.filter()根据不同类型的内容或不同的颜色过滤不同的Things


如何编写视图以便我可以过滤所有各种颜色选项以及所有不同的选项?这是我的意思,但我不知道如何正确编写函数..

def filter(request):
    filter_color = Thing.objects.filter(color=COLOR_OPTIONS)
    filter_stuff = Thing.objects.filter(stuff=???)

任何想法都赞赏。

1 个答案:

答案 0 :(得分:0)

my_things_based_on_stuff = Thing.objects.filter(stuff__text="some text here")

my_things_based_on_colors = Thing.objects.filter(color='BLA')