过滤多对多关系thip

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤多对多关系thip相关的知识,希望对你有一定的参考价值。

我用rest-framworkdjango 3制作api

我有一个具有多对多关系的模型。

然后,现在我想对多对多使用过滤器

models.py

class Text(models.Model):
    t_id = models.CharField(unique=True,null=False,max_length=20)
    t_text = models.TextField(null=True)
    issues = models.ManyToManyField(Issue) # It is many-to-many relationship
    pub_date = models.DateTimeField('date published')
    def __str__(self):    
        return self.t_id  

serializer.py

class TextFilter(filters.FilterSet):
    t_text = filters.CharFilter(lookup_expr='contains') # it works
    issues = filter.***Filter # How should I do here??

    class Meta:
        model = Text
        fields = ('t_text','issues')
答案

默认情况下ModelMultipleChoiceFilter用于ManyToManyField:

ModelMultipleChoiceFilter

以上是关于过滤多对多关系thip的主要内容,如果未能解决你的问题,请参考以下文章

过滤多对多关系中的选择

在Django中按关系字段过滤多对多关系

多对多关系过滤器

多对多关系过滤器

Django内联表单集通过另一个模型在多对多关系中过滤

根据特定的多对多关系过滤 Django 查询集