如何在django-tastypie中运行将在水合物之前执行的方法

时间:2012-03-21 15:33:13

标签: django tastypie

我需要以下逻辑: 用户将对象发布到服务器,但我需要在创建新对象之前删除之前发布的对象。 是否有一些方法,例如在hydrate()方法之前,我可以访问授权用户对象吗?

1 个答案:

答案 0 :(得分:0)

如果您的问题与创建有关,那么您可以覆盖obj_create方法。它被赋予了请求对象,因此您可以访问request.user。这样的事情对你有用:

class SomeResource( ... ):

    def obj_create(self, bundle, request=None, **kwargs):
        user = request.user if request else None
        # ...
        if user:
            # delete objects here
        # ...
        super( SomeResource, self ).obj_create( bundle, request, **kwargs )