2013-05-05 133 views
1

當我做這樣的停止模型創建:Django的tastypie - 如何發送post請求

def hydrate(self, bundle): 
    manipulate data here 

現在,根據數據,我要檢查它是否已經可用。如果它不存在,就想創建對象。簡單地說,想做get_or_create。

回答

2

你幾乎沒有任何代碼,所以我不知道你的模型等等都是圍繞它,但我認爲你要尋找的是:

Model.objects.get_or_create()

+0

Tasypie在接​​收到數據後自動創建對象。如果對象已經存在,它會回退錯誤(唯一性的bcoz)。如果沒有返回錯誤,我只想返回Ok。這意味着我跳過創建對象。 – user2349115 2013-05-05 09:17:26

+1

爲什麼當這個函數會爲你做這件事時,你想創建對象? – Ewan 2013-05-05 09:33:14

1

我認爲你正在尋找super,它可以讓你覆蓋,擴展或通過調用super前面加上任何類的方法,其type

0

你可以做到這一點通過重寫obj_create方法和使用get_or_create功能:

def obj_create(self, bundle, request=None, **kwargs): 
    .... 

但這聽起來不是一個好主意。創建意味着創建並返回已經存在的數據。

+0

您還需要非常小心有關的數據 – dbn 2015-05-13 19:28:07