簡體   English   中英

過濾多對多關系

[英]Filtering many-to-many relationthip

我為django 3使用rest-framwork制作 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  


class Issue(models.Model):
    name = models.CharField(unique=True,max_length=255)
    aka = models.CharField(max_length=2000,blank=True)
    def __str__(self):
        return self.name

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:

class TextFilter(filters.FilterSet):
    t_text = filters.CharFilter(lookup_expr='contains') # it works
    issues = filter.ModelMultipleChoiceFilter(
        field_name='issues__uuid',
        queryset=Issue.objects.all(),
    )

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM