mgP*_*ePe 13 django django-models manytomanyfield
我有以下型号:
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)
Run Code Online (Sandbox Code Playgroud)
所以我有一个主题,有一个标签.我想循环主题及其相应的标签,所以我试图构建正确的视图.到目前为止,我有:
def home(request):
user1 = Subject.objects.filter(id=1)
print(user1.tags.all())
Run Code Online (Sandbox Code Playgroud)
我希望通过这个print语句获取用户的标签,但我得到错误
'QuerySet'对象没有属性'tags'
如何使用各自的标签获取"主题"对象并将其传递给模板?
(理想情况下是所有科目.我在这里只做了一个,以简化故障排除过程)
Dan*_*olo 26
filter
返回QuerySet
(如你可能已经猜到了),你想要做的get
,而不是
user1 = Subject.objects.get(id=1)
Run Code Online (Sandbox Code Playgroud)
如果Subject
不存在,您将获得一个Subject.DoesNotExist
例外.如果您只是抓取要以某种方式显示的对象并且如果它不可用则返回404,那么还有一个get_object_or_404
快捷方式django.shortcuts
很有用.
归档时间: |
|
查看次数: |
22866 次 |
最近记录: |