【发布时间】:2016-04-03 12:42:03
【问题描述】:
我有一个这样的三表模型:
我想用变量列表过滤查询结果,例如:
listTags = ["landscape","green"]
results = ListTag.objects.filter(tag__name__in=listTags).select_related()
但是该查询的结果是所有具有 landscape OR green 的 ListTag 对象,但我想要的是 ListTag 对象的列表风景 AND 绿色
我看到了很多关于这个问题的答案,但其中很多都使用静态标签列表,我希望它使用变量 listtags 列表进行过滤
编辑:模型
class Picture(models.Model):
title = models.CharField(max_length=50,null=True, blank=False, verbose_name=('name'))
def __str__(self):
return self.titre
class Tag(models.Model):
name = models.CharField(max_length=50,null=True, blank=False, verbose_name=('name'))
def __str__(self):
return self.name
class ListTags(models.Model):
picture = models.ForeignKey(Picture, blank=False, on_delete=models.CASCADE, related_name='picture')
tag = models.ForeignKey(Tag, blank=False, on_delete=models.CASCADE, related_name='tag')
【问题讨论】:
-
看你的图不清楚模型之间是什么关系,你能给出简化的模型代码吗?
标签: sql django django-models django-views django-rest-framework