2013-05-01 83 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) 

,它會做同樣的事情。