我有以下型号:
class ModelOne(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
class ModelTwo(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
is_visible = models.BooleanField(default=False)
modelones = models.ManyToManyField(ModelOne, blank=True)
在视图中,我希望基于ModelTwo
的属性获取ModelOne
的查询集。例如,我如何获得一个ModelOne
的查询集,其中ModelTwo
的is_visible
设置为True
引用它们
举个例子:
one_one = ModelOne.objects.create()
one_two = ModelOne.objects.create()
two_one = ModelTwo.objects.create()
two_two = ModelTwo.objects.create(is_visible=True)
two_three = ModelTwo.objects.create()
two_two.modelones.add(one_one)
two_two.save()
two_three.modelones.add(one_two)
two_three.save()
queryset = [????]
queryset
将只包含one_one
,因为two_two
有对one_one
的引用,也有is_visible
{
您可以使用以下选项进行筛选:
可以反向过滤关系。它将使用^{} parameter [Django-doc]来在^{} [Django-doc]中使用。如果您没有指定,它将使用^{} parameter [Django-doc],如果您没有指定这两者中的任何一个,它将使用小写中的类名
相关问题 更多 >
编程相关推荐