2013-05-01 85 views
0

这里是我一直在使用Django的REST框架的功能之一:使用Django的REST框架正确

​​

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

回答

0

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

我看到的主要事情是:

  1. 是否使用api_view装饰,它提供了你的API方法

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

我还没有使用串行还创建数据实例,但这样做应该基于不正确的数据类型/缺少的字段等,而不是您不必手动处理所有的验证和对象创建自动返回相应的错误你自己。

0

首先;如果它的工作原理和你制作的代码易于阅读和维护,其他任何东西都是奖励。

所以,我从Django Rest Framework学到的一件事就是他们有大约一百万种方法来做任何事情,每种方法都有不同的冗长/控制。

这是很难说究竟你是否在做事情的方式是最优的问候什么DRF已经有了烤你,你有没有给你想要做的到底是什么的细节这个功能。然而,乍看起来,你似乎在做很多DRF可能已经为你做的样板。

你看过他们的tutorial吗?这是相当不错的,如果有点长啰。我发现几乎所有他们告诉你在开头写的代码后来都会被他们最后告诉你的更优雅的代码替换(烦人)。

如果你可以给出你的确切目标的几个细节(例如,如果这是函数y的请求,这个函数应该做x,否则等等等等),那么我可以给你几个我将如何做的例子在DRF中。

P.S.

您也可以重写此位:

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

到这一点:

conversation_id = request.POST.get('conversation_id', 0) 

,它会做同样的事情。