如何在restful框架中过滤外键设置的django查询?

时间:2017-08-30 08:21:30

标签: django django-rest-framework django-queryset

我在使用django + restful framework时遇到了问题。

这是我的意图:

有很多章节,每章都有很多单词,每个单词都有很多扩展说明,这些解释都是由用户提供的,所以有些是invaild,在后端我可以设置这些扩展'字段 is_alive 错误

views.py 中,目前我将所有这些数据发送到前端,我尝试了多种方法来过滤掉这些无效数据,但失败了。

这里是代码:

models.py

class Chapter(models.Model):
    chap = models.IntegerField('chaptername')

class Word(models.Model):
    chapter = models.ForeignKey('Chapter', related_name='voca')
    word = models.CharField('name', max_length=255)

class Expand(models.Model):
    belong = models.ForeignKey('Word', related_name='expand')
    explansion = models.TextField('description')
    is_alive = models.BooleanField('status', default=True)

serializers.py

class ExpandSerializer(serializers.ModelSerializer):
    class Meta:
        model = Expand
        fields = ('explansion', )

class WordSerializer(serializers.ModelSerializer):
    expand = ExpandSerializer(many=True)

    class Meta:
         model = Word
         fields = ('id', 'word', 'expand')

class ChapterSerializer(serializers.ModelSerializer):
    voca = WordSerializer(many=True)

    class Meta:
        model = Chapter
        fields = ('id', 'chap', 'voca')

views.py

def getChapter(request):

    if request.method == 'GET':

        chapter = Chapter.objects.get(pk=1)
        serializer_c = ChapterSerializer(chapter)
        return JsonResponse(serializer_c.data)

0 个答案:

没有答案