gpt4 book ai didi

django - “QuerySet”对象没有属性错误,尝试获取 ManyToMany 字段的相关数据

转载 作者:行者123 更新时间:2023-12-02 14:30:47 24 4
gpt4 key购买 nike

我有以下型号:

class Tag(models.Model):
tag_name = models.CharField(max_length=250)
tagcat = models.ForeignKey('TagCat')

class Subject(models.Model):
user = models.ManyToManyField(User)
tags = models.ManyToManyField(Tag)

class TagCat(models.Model):
cat_name = models.CharField(max_length=100)

所以我有一个主题,它有一个标签。我想循环主题及其适当的标签,所以我试图构建正确的 View 。到目前为止,我已经:

def home(request):
user1 = Subject.objects.filter(id=1)
print(user1.tags.all())

我希望通过这个打印语句获取用户的标签,但我得到了错误

'QuerySet' object has no attribute 'tags'

我如何获取带有各自标签的“主题”对象并将它们传递给模板?

(最好是所有主题。我在这里只用了一个主题,以简化故障排除过程)

最佳答案

filter 返回一个 QuerySet (正如您可能已经猜到的那样),您想要执行 get相反

user1 = Subject.objects.get(id=1)

如果 Subject 不存在,您将收到 Subject.DoesNotExist 异常。还有get_object_or_404 django.shortcuts中的快捷方式如果您只是获取要以某种方式显示的对象,并且希望在该对象不可用时返回 404,那么这很有用。

关于django - “QuerySet”对象没有属性错误,尝试获取 ManyToMany 字段的相关数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4319469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com