我有一个模型,Entry
有一个ManyToMany
字段:
tags = models.ManyToManyField(Tag)
Tag
模型很简单:
class Tag(models.Model):
name = models.CharField(max_length=25)
def __unicode__(self):
return self.name
我想创建一个函数,getEntryByTags
它接受标签名称列表并返回具有这些标签的任何条目。如果我知道标签的数量和每个标签的名称,这将是微不足道的:
Entry.objects.filter(tags__name="tech").filter(tags__name="music").filter(tags__name="other")
但由于这将基于用户输入,并且标签编号是可变的,所以我不确定如何继续。我将如何遍历一个多项目列表以获取一个对象,该对象包含每个 ManyToMany 对象以及列表中表示的名称?