2015-09-06 52 views
2

在我的基於類的視圖中,我正在處理一個post請求(這是一個AJAX調用)。我在數據庫表中插入一些數據並返回一些json到前端。在Django基於類的視圖中處理POST請求的正確方法是什麼?

def post(self,request,*args,**kwargs): 

    result_data = {} 
    doc = kwargs['doc'] 
    doc_obj = Document.objects.get_document(doc) 

    doc_id = doc_obj.doc_id 
    reference_obj = Reference.objects.save_to_db(request,doc_id) 

    friendly_name = reference_obj.friendly_name 
    result_data['friendly_name'] = friendly_name 

    return HttpResponse(json.dumps(result_data),content_type='application/json') 

我的問題是這樣的處理POST請求的正確方法我的疑問就出現在這裏? - 我寫一些數據到數據庫,並返回相同的數據屬性的JSON我已經寫入數據庫。

我應該不同地做,即首先在數據庫中存儲一些數據並返回該行的id並再次在同一個URL上發出GET請求?

回答

0

我想說如果它是一個API,最好通過按照你所做的方式返回整個對象來最小化查詢次數。如果要爲Web用戶界面提供服務,則更簡單的方法是從客戶端本身返回標識並獲取其餘數據(如果需要顯示)。

無論哪種方式都很好。增益可以忽略不計。我也看到應用程序給出了當地的積極反饋,然後如果請求不成功,則用一個負面的反饋替換。這項技術可以提高響應速度,這總是值得讚賞。

0

Django-rest-framework返回插入對象的json,所以我認爲複製該行爲是合理的。

相關問題