客户用户模型非常棒,但如果您想构建一个结合多个应用程序的项目,每个应用程序都可以假设它将用户模型作为其模型的一部分。我的计划是恢复标准的django用户,并在每个应用程序中都有个人资料。
例如
app1.models.py
from django.contrib.auth.models import User
Class App1User(models.Model):
user = models.OneToOne(User)
special = models.CharField( some field that relates to the user in this app)
app2.models.py
from django.contrib.auth.models import User
Class App2User(models.Model):
user = models.OneToOne(User)
another = models.CharField( some field that relates to the user in this app)
等
然后添加代码以在需要时获取相关的配置文件数据,可能会添加一些中间件或模板上下文处理器。在我走这条路之前,我想检查这是最Djangoeque的解决方案吗?
答案 0 :(得分:0)
Imho是的,你是以正确的方式做到的。
并且您不需要任何中间件或上下文处理器来为用户获取相关数据。 OneToOne
字段可以作为user
实例的属性
{{ user.app1user.special }}
{{ user.app2user.another }}