2012-09-28 37 views
0

我对tastypie有点新鲜:我一直在通过override_urls传递的自定义视图中创建对象。Tastypie:在obj_create之外创建对象

是否可以不使用obj_create而只是在自定义视图中执行某些操作,否则会导致进一步的问题?

回答

2

您通常应该使用obj_create,因为它可以处理您的所有授权和身份验证。如果你使用一些其他的意见(我想象,创造新的模型实例应该在一些辅助方法没有实际的观点来完成)应该不会,如果你将遵循简单的步骤,任何麻烦:

    override_urls使用
  1. 如果您尚未在资源中定义实际调用创建其他对象的视图/方法的方法,您应该这样做
  2. 您应该首先使用相同的模式正如在tastypie的dispatch method中使用的,如is_authenticated,is_authorised和throttle_check,然后调用您的views/met部门首长

一个更简单的方法是只覆盖你的资源内,这种方法调用内其他视图/方法obj_create,使用父类的方法或决定完全不使用它。

+0

感谢您的回答,这是否意味着我应该区分我的所有资源?例如,我有一个处理获取现有用户的用户资源,以及在不同的更新URL中修改和创建它们。我假设既然只能有一个obj_create,他们应该分散到不同的资源? – arooo

+1

您可以在请求中传递额外的参数,并在obj_create中决定使用哪个现有方法,但是由您决定,我了解可能存在不允许使用obj_create的特殊情况。 – aniav

相关问题