代码之家  ›  专栏  ›  技术社区  ›  svkai

在tastypie中创建动态ORM资源

  •  0
  • svkai  · 技术社区  · 13 年前

    我希望在tastypie中创建一个动态资源。基本上,这个想法是有很多模型需要连接,所以这可能有助于使用标准的无装饰资源节省时间。

    我已经完成了大部分工作,但是我在填充相关字段时遇到了问题。我正在重写一个从ModelResource继承的类的构造函数,并在这个构造函数中尝试设置tastypie关系。然而,当我查看我的资源时,数据并没有被填充。

    setattr(self, field, fields.ForeignKey(class_thing, attribute=field, full=True))
    

    基本上,我在构造函数中使用setattr来尝试连接应该是什么关系。如果我在实例上游手好闲,我可以看到这个对象正在创建,但资源输出没有改变。有人足够熟悉美味/做这样的事情给我一个线索吗?

    谢谢你抽出时间。

    编辑:没关系,只要超越脱水,然后从那里开始。

    1 回复  |  直到 13 年前
        1
  •  0
  •   svkai    13 年前

    我没有通过构造函数(这很混乱,因为tastypie/django无论如何都会在那里做一些事情),而是通过脱水覆盖来完成这项工作,这有点像是为了完成这项任务。

    bundle.obj有所有相关的数据,所以基本上我只是序列化了相关的对象,并在返回bundle之前将它们添加到bundle.data字典中。看起来更干净,工作起来很有魅力。