Django其余带有选择列表的createAPIView

时间:2018-06-28 12:05:15

标签: python django django-rest-framework

我正在为一个特殊情况而苦苦挣扎 我正在使用Django Rest的API Create View创建一个名为 post 的实体, post 的模型具有外键,它指向另一个称为 group 的模型, post 的序列化器具有 group 作为 GroupModelSerializer 字段,当我创建帖子时,如果我将 group 的字段设置为 read_only ,在POST方法中将忽略它们 创建我的帖子实体

时如何获取要选择的组的列表

这是我的代码:

我的帖子序列化器:

class PostModelSerializer(serializers.ModelSerializer):
    user                        = UserModelSerializer(read_only=True)
    group                       = GroupModelForCreateSerializer()
    class Meta:
        model  = Post   # the model to get fields from
        fields = [      
        'id',
        'group',
        'user',
        'content',
        'timestamp',
        ]

我的组序列化器:

class GroupModelSerializer(serializers.ModelSerializer):
    class Meta:
        model  = Group   # the model to get fields from
        fields = [      
        'id',
        'moderators',
        'name',
        'description',
        'timestamp'
        ]

我的API从Rest Framework创建视图:

class PostCreateAPIView(generics.CreateAPIView):
    serializer_class    = PostModelSerializer      
    permission_classes  = [permissions.IsAuthenticated] 

    def perform_create(self, serializer):           
        serializer.save(user = self.request.user)

0 个答案:

没有答案