使用Django User-Model还是创建自己的Model?

Mar*_*rau 4 python django design-decisions django-users

我目前正在设计一个基于Django的网站.为简单起见,我们假设它是一个简单的社区站点,用户可以登录并向其他用户写入消息.

我目前的选择是使用buildin用户模型或构建我自己的东西.我不需要很多来自buildin User:没有用户名(你的电子邮件地址是你的用户名),但你设置了一个你可以选择的内部名称,可供多个用户(如Facebook)使用.此外,我不需要权限系统,因为访问其他人不会基于组.因此,我最终只使用buildin中的电子邮件,名字,姓氏和密码字段,User其他所有内容都将放在UserProfile中.另一方面,buildin用户系统将在网站的后端派上用场,因为我有可能需要一个基于组的权限系统.

总而言之,在我看来,我宁愿构建我的一个用户模型并仅使用buildin来访问管理员后端.

我的思考有什么不对吗?

S.L*_*ott 9

我的思考有什么不对吗?

是.

我目前的选择是使用buildin用户模型或构建我自己的东西.

还有第三种选择.

http://docs.djangoproject.com/en/1.2/topics/auth/#storing-additional-information-about-users

其他一切都将放在UserProfile中

正确.

构建我的一个用户模型并仅使用buildin来访问管理员后端

不要建立自己的.

做这个:

如果您想存储与您的用户相关的其他信息,Django提供了一种方法来指定特定于站点的相关模型 - 称为"用户配置文件" - 用于此目的.