2013-05-05 132 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