使用外键的 Django 休息框架自定义序列化程序
Django rest framework custom serializer using foreign key
class MyModel():
# fields
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
class CustomSerializer(serializers.Serializer):
comment = serializers.CharField(required=True)
mymodel = MyModelSerializer() #?? here is the problem
我想创建一个 API,它将接受两个参数,第一个是有效的 MyModel 实例 ID(来自可浏览 api 页面的下拉列表),第二个是 comment
。
我尝试了上述方法,但没有在我的 html 中显示下拉菜单。除此之外,我尝试了 RelatedField
和 many=True
以及其他一些可能的方法。
最后我的 api 将接受两个输入,一个 ID(MyModel 对象)和一个评论。
http://www.django-rest-framework.org/api-guide/fields/#multiplechoicefield
http://www.django-rest-framework.org/api-guide/fields/#listfield
尝试使用类似的东西:
class CustomSerializer(serializers.Serializer):
comment = serializers.CharField(required=True)
mymodel = serializers.ChoiceField(choices=list(MyModel.objects.all().values_list('id', flat=True)))
class MyModel():
# fields
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
class CustomSerializer(serializers.Serializer):
comment = serializers.CharField(required=True)
mymodel = MyModelSerializer() #?? here is the problem
我想创建一个 API,它将接受两个参数,第一个是有效的 MyModel 实例 ID(来自可浏览 api 页面的下拉列表),第二个是 comment
。
我尝试了上述方法,但没有在我的 html 中显示下拉菜单。除此之外,我尝试了 RelatedField
和 many=True
以及其他一些可能的方法。
最后我的 api 将接受两个输入,一个 ID(MyModel 对象)和一个评论。
http://www.django-rest-framework.org/api-guide/fields/#multiplechoicefield
http://www.django-rest-framework.org/api-guide/fields/#listfield
尝试使用类似的东西:
class CustomSerializer(serializers.Serializer):
comment = serializers.CharField(required=True)
mymodel = serializers.ChoiceField(choices=list(MyModel.objects.all().values_list('id', flat=True)))