2011-12-15 102 views
1

我有几个通知可以从我的Django应用程序users发出。这些用户使用django.contrib.auth应用进行管理。如何在Django中存储关于用户的其他信息?

我需要跟踪每个用户是否指定他/她想要获得该通知。

我应该在哪里保存这些信息?

我打算创建自己的自定义表格,但我看过了,或许我可以将这些信息保存在auth模块的某处?

+0

确切的复制:http://stackoverflow.com/questions/2886987/adding-custom-fields-to-users-in-django ...并在文档中进行了很好的解释... – Stefano 2011-12-16 11:04:34

回答

8

用户配置文件是一个很好的选择。

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

描述设置了一个OneToOneField模型,以你的User对象,你很容易获得的额外信息的任意表。

PS:注意关于配置文件不会自动创建的事实。有一个关于如何在创建User时使用信号自动创建一个示例。

+0

+1对于一个非常,非常常见和重要的用例。 OneToOneField使它变得更加简单。在使用配置文件时,请注意外键可指向实际用户或其配置文件(并且配置文件中的任何外键的related_name将指向配置文件,而不是用户)。看起来很明显,但如果你不小心可能会引发趣事。 – kungphu 2011-12-16 01:24:52

相关问题