简体   繁体   English

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

[英]Django Many to Many field dependent on another many to many field

I'm creating two many-to-many fields based on same model in a single model. I would like to show only those instances in second many-to-many field which are selected in first many to many field to further apply selection.我在单个 model 中基于相同的 model 创建两个多对多字段。我只想显示第二个多对多字段中的那些实例,这些实例是在第一个多对多字段中选择的,以进一步应用选择。 Through which approach should i handle this behaviour.我应该通过哪种方法处理这种行为。

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")

Thanks and regards感谢致敬

You can use SubQuery is think:您可以使用SubQuery认为:

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

You can see SubQuery docs你可以看到SubQuery 文档

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM