我有一个名为
的模型class UserTag(models.Model):
name = models.CharField(max_length=64, unique= True)
users = models.ManyToManyField(User)
我正在尝试根据像这样的用户过滤其内容
usertags = UserTag.objects.filter(users=request.user)
现在我想要一个包含此特定查询的所有标记名称的列表。我知道我可以使用循环
for tag in usertags:
tags.append(tag.name)
但是,如果用户有1000个标签怎么办?这不会减慢响应速度吗? 有没有更有效的方法来处理这个?
答案 0 :(得分:3)
如果您只想要标记名称,请使用values_list
查询:
tags = UserTag.objects.filter(users=request.user).values_list('name', flat=True)