如果这个问题没有道理,请原谅我,尝试自学django。我一直在尝试搜索操作方法,但不确定在搜索中是否使用了正确的单词。
我有以下型号。
class Category(models.Model):
code = models.CharField(max_length=10, unique=True)
description = models.CharField(max_length=50)
class UserGroupHeader(models.Model):
code = models.CharField(max_length=10, unique=True)
description = models.CharField(max_length=50)
class UserGroupDetail(models.Model):
usergroupheader = models.ForeignKey(UserGroupHeader, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.PROTECT)
如何使用UserGroupHeader从Category模型获取查询集?到目前为止,我得到的是类似UserGroupHeader.objects.get(pk=9).usergroupdetail_set.all()
的东西,现在从这个结果中我如何获得类别模型?
答案 0 :(得分:1)
我不确定我是否完全了解您要执行的操作,但是通常,在查询时,您可以使用双下划线关注关系。以下是几个可能的查询:
my_group_header = UserGroupHeader.objects.get(...)
Category.objects.filter(usergroupdetail__usergroupheader=my_group_header) # Gets Category objects related to my_group_header through UserGroupDetail model
Category.objects.filter(usergroupdetail__usergroupheader__code='abc') # Gets Category objects related to UserGroupHeader object with code 'abc' through UserGroupDetail model
UserGroupHeader.objects.filter(usergroupdetail__category__code='abc') # Gets UserGroupHeader objects related to Category object with code 'abc' through UserGroupDetail model
答案 1 :(得分:0)
您的查询UserGroupHeader.objects.get(pk=9).usergroupdetail_set.all()
将返回QuerySet
个对象中的UserGroupDetail
个。为了获得每个category
的{{1}},您可以:
UserGroupDetail
或者根据您的需求类似的东西