我正在开发一个在 python 2.7 上运行的 django 1.6 项目,我们即将升级到 1.7 并使用新的迁移工具。
迁移系统似乎无法处理 python 2.7 中的未绑定方法,并且在 3.4 ei中表现不佳:
class Foo(models.model):
...
def unbound_method_bar(self):
...
return foobar
文档建议我们只将方法从类移动到模块。艾:
def unbound_method_bar(foo):
...
return foobar
class Foo(models.model):
...
这种方法对我们来说不是很好,因为我们添加到模型类的方法主要由模板中使用的实用函数组成。
解决这个问题的最佳方法是什么?一个包装类?将实用方法动态添加到模型类实例的工厂?或者...?