如何在Serializers.py筛选外键内容

来源:5-6 drf的modelserializer实现商品列表页功能

两努

2020-04-14

我在Serializer数据的外键内容时。获得的外键是所有内容。如何对外键内容进行筛选。

class WordProficiencySerializer(serializers.ModelSerializer):

    class Meta:
        model = WordProficiency
        fields = ("user", "number")


class WordListSerializer(serializers.ModelSerializer):
    WordProficiency = WordProficiencySerializer(many=True)

    class Meta:
        model = Word
        fields = ("english", "WordProficiency")


class JoinWordSerializer(serializers.ModelSerializer):
    Word = WordListSerializer()
    lesson = LessonSerializer()

    class Meta:
        model = JoinWord
        fields = ("book", "lesson")

我在查询 joinWord 的时候,可以通过 lesson 获得 word 列表。然后 word 有一个外键WordProficiency,我得到了WordProficiency的所有内容。但我只想要 user 等于当前登录用户的字段时。要如何筛选?

写回答

1回答

bobby

2020-04-16

可以通过自定义queryset方法 这里可以写过滤当前的用户 比如在viewset中覆盖方法:

def get_queryset(self):
    return ShoppingCart.objects.filter(user=self.request.user)


0
0

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2895 学习 · 2481 问题

查看课程