基于国家的超级用户访问,并修改Django Auth

时间:2010-08-18 11:38:31

标签: python django

我希望超级用户能够访问我正在使用的程序的用户。

所有实体都有国家/地区ID值,所以我只是想看看我的用户模型是否有国家/地区ID

看看Django Auth,添加super_user_country_id字段应该很容易。

然而,修改核心django类是多么的不满?

有没有更简单的方法可以解决这个问题?

2 个答案:

答案 0 :(得分:1)

目前,推荐的方法是创建Profile模型,并使用UserOneToOneField将其链接到ForeignKey模型(取决于您的要求) )。这是关于该主题的good tutorial

Django开发者一再表达他们的意图,使User模型更加直接,但AFAIK,尚未提出具体设计。

答案 1 :(得分:1)

添加自定义UserProfile将是解决此问题的一种方法。 UserProfile可以链接到Country,您可以根据UserProfile来阻止用户。我发现James Bennett关于extending the User model的文章在我有类似要求时很有用。

修补auth(或其他内置)类通常不是一个好主意。自定义补丁可能会成为维护和保持最新的痛苦。