Django:如何正确使用UserProfile? (Django auth额外信息)

时间:2011-09-28 13:59:18

标签: python django authentication

我终于可以让我的Django + Auth应用程序正常工作了。我将额外信息添加到用户docs说。现在,我有一个简单的问题。当我构建一个与用户相关的模型时,我应该与哪个用户相关?到auth.models.User或我的accounts.UserProfile?

一个例子:我有一个Product的模型,而Product属于一个用户。哪个是最好的选择:

class Product(models.Model):
    user = models.ForeignKey(auth.models.User)

class Product(models.Model):
    user = models.ForeignKey(accounts.UserProfile)

我目前正在使用auth.models.User,因为我可以发出get_profile,但有些朋友告诉我,我错了。

谢谢!

1 个答案:

答案 0 :(得分:3)

你做的是正确的事。

UserProfile只是User模型的扩展。 从逻辑上讲,你正在建立一个对象与一个对象的关系,而不是一个对象与一些额外信息的关系。

另外,正如您所提到的,您始终可以发出'get_profile'来获取额外数据。