Django多对多字段依赖于另一个多对多字段

krugob8w  于 2023-01-06  发布在  Go
关注(0)|答案(1)|浏览(164)

我正在一个模型中创建两个基于同一模型的多对多字段。我只想显示第二个多对多字段中在第一个多对多字段中选择的示例,以进一步应用选择。我应该通过哪种方法处理此行为。

class Params(models.Model):
    name = models.CharField(max_length = 200)
    comments = Model.TextField()
    
    def __str__(self):
           return self.name

class Selection(models.Model):
    select_params = models.ManyToManyField(Params, blank=True, related_name = "selection_1")
    edit_selected_params = models.ManyToManyField(Params, blank=True, related_name = 
            "selection_from_selec_params")

谢谢和问候

gfttwv5a

gfttwv5a1#

你可以使用SubQuery是认为:

selected = Selection.objects.filter(
    edit_selected_params__in=SubQuery(
        Selection.objects.filter(select_params__isnull=False).values_list("select_params", flat=True)
    )
)

您可以查看子查询文档

相关问题