2013-02-21 49 views
1

我正在开发网站上进行一些测试,目前使用的是Django 1.4。大多数Django用户都知道Django 1.5为用户模型带来了更多的灵活性。Django 1.5和新的用户模型:第三方应用程序呢?

我正在使用的项目在auth.User模型上使用了猴子补丁,它运行良好。这增加了我每次使用的有用方法。

我还没有添加任何数据库字段的用户模型兼容的缘故,我的代码只涉及这一点:

User.__bases__ += (UserPlus,) 
User.__unicode__ = UserPlus.__unicode__ 
UserPlusManager().contribute_to_class(User, 'objects') 

UserPlusManager是的UserManager一个子类。

现在,想象我想切换到新的用户模型。我已在INSTALLED_APPS中有很多应用程序,其中一些应用程序未进行维护,并且有与auth.User绑定的字段的模型。 我没有看到这种配置的任何明显的策略。

那么,真的建议升级到Django 1.5考虑到这一点?如果是这样,我应该采取什么措施?

+1

即时通讯,猴子补丁auth.User是一种非常简单的方法,当谈到转发兼容性时,将自己描绘成一个角落。如果你想要达到1.5,你很可能会重新获得你的补丁。 – Brandon 2013-02-21 15:43:29

+0

其实,我有猴子修补auth.User模型,但没有添加任何数据库字段的兼容性。我改变了一些方法,并用兼容的替换了默认管理器。我将用这条信息来补充我的第一篇文章。 – 2013-02-21 15:48:49

+0

我不确定你的问题有一个“好”的答案,因为它完全是基于任何代码利用你的猴子补丁用户的主观。 – Brandon 2013-02-21 16:10:48

回答

3

如果Django中的构造发生变化,则任何利用该构造的第三方应用程序都必须作出相应的反应。如果您的项目依赖于不兼容1.5的第三方应用程序,那么您应该等到升级您的项目为止。