使用Django Piston中的OneToMany关系处理程序进行递归

时间:2013-04-14 16:26:09

标签: django recursion one-to-many django-piston

无论我尝试了什么,我都无法通过请求处理程序为我简单的OneToMany关系解析递归,让我们说父亲1:N Sons

FatherHandler将在其结果集中返回sons_set(子列表)。 SonHandler将返回结果集中的父对象。

作为字段,排除,设置似乎静态绑定到处理程序(以及后面的模型),似乎无法动态更改要返回的字段,我总是以递归结束。 (我试图从SonHandler调用时尝试从字段列表中排除sons_set,但最初的FatherHandler设置似乎仍然有效)

class FatherHandler(GenericHandler):
    model = Father
    exclude = () # to also show 'id' field
    fields = ('id', 'name', ('son_set', ('id', 'name')))
    allowed_methods = ('GET', 'POST', 'PUT')

class SonHandler(GenericHandler):
    model = Son
    exclude = () # to also show 'id' field
    fields = ('id', 'name', ('father', ('id', 'name')))
    allowed_methods = ('GET', 'POST', 'PUT', 'DELETE')

    def read(self, request, key=None):
        FatherHandler.exclude = ('son_set')
        # does not work ...

0 个答案:

没有答案