0

这是我使用 django rest 框架的功能之一:

elif request.method == 'POST':
    text = request.POST.get('text')
    request_to_meet = request.POST.get('request')
    startup = request.POST.get('startup')
    to_user_id = request.POST.get('tid')

    try:
        to_user = User.objects.get(pk=to_user_id)
    except User.DoesNotExist:
        to_user = None

    if 'conversation_id' in request.POST:
        conversation_id = request.POST.get('conversation_id')
    else:
        conversation_id = 0

    ct = Chat.objects.create(
        from_user=user,
        to_user=to_user,
        text=text,
        startup=startup,
        request=request_to_meet,
        conversation_id=conversation_id)

    serializer = ChatSerializer(ct, many=False)
    return Response(serializer.data)

我是否正确使用了框架?我不得不在 django 中使用 create( 模型函数,而不是使用序列化程序保存函数。这是正确的 api 代码的正确方法吗?谢谢!

4

1 回答 1

0

让我先说一下,我也是 django rest 框架的新手。

我看到的主要内容是:

  1. 你在使用api_view装饰器吗,它为你的 api 方法提供了免费的基于 Web 的文档

  2. 使用request.DATA将自动JSON将正文和内容类型中的请求映射application/json到变量。

我还没有使用序列化器来创建数据实例,但是这样做应该会根据不正确的数据类型/缺失的字段等自动返回适当的错误,而不是您必须自己手动处理所有验证和对象创建。

于 2013-05-01T13:56:44.523 回答