Django Rest Framework 序列化程序作为表单和嵌套关系

mod*_*itt 1 python django django-forms django-rest-framework

我正在尝试使用 django rest 框架来生成用于模型创建的 html 表单。假设我有一个属于具有ManyToMany关系的模型的序列化程序。

class SerializerExample(serializers.ModelSerializer):
    mtm = ManyToManySerializer(many=True)
Run Code Online (Sandbox Code Playgroud)

然后,在 Django 休息视图中,

class AddModelView(StandardView):
    serializer_class = ModelSerializer
    renderer_classes = [TemplateHTMLRenderer]

    template_name = 'details.html'

    def get(self, request):
        model = Model.objects.get.all()
        serializer = ModelSerializer(model)
        return Response({'serializer': serializer, 'model': model})
Run Code Online (Sandbox Code Playgroud)

然后假设 details.html 看起来像:

{% load rest_framework %}

<html><body>

    <form method="POST">
        {% csrf_token %}
        {% render_form serializer %}
        <input type="submit" value="Save">
    </form>

    </body></html>
Run Code Online (Sandbox Code Playgroud)

Lists are not currently supported in HTML input.而不是多选或添加新实例的能力。我究竟做错了什么?

Lin*_*via 5

你没有错过任何东西。这是正在进行中的工作。如果您需要 HTML 表单,请使用带有嵌套序列化程序的 JSON 或不使用嵌套序列化程序。