覆盖tastypie中的逻辑

时间:2013-02-01 20:00:23

标签: python tastypie

基本上,我想记录每个特定对象的调用,假设我有一个objectA和objectB,每当请求objectA时我想在数据库中增加objectA的计数器。我正在考虑重写API,使GET请求tastypie请求此特定类型的模型,但我不知道我应该更改哪个地方或者是否有其他方法可以执行此操作优选

1 个答案:

答案 0 :(得分:0)

可能最好的地方是调用obj_get资源方法来检索对象。在里面你应该检查对象是否被原始方法检索并进行增量。     来自tastypie.exceptions import NotFound

def obj_get(self, bundle, **kwargs):
    try:
        obj = super(self, ResourceClass).obj_get(bundle, **kwargs)
        obj.counter_field += 1
        obj.save()
        return obj
    except NotFound:
        raise

上面的代码没有经过测试(请在检查后用一个工作示例更新),但它显示了必须完成的工作。