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

Python Django:如何正确使用UserProfile?(Django认证额外信息),python,django,authentication,Python,Django,Authentication,我终于可以让我的Django+Auth应用程序工作了。我向用户添加额外的信息,如所说。现在,我有一个简单的问题。当我构建一个与用户相关的模型时,我应该与哪个用户相关?要验证.models.User还是我的accounts.UserProfile 例如:我有一个产品模型,而该产品属于一个用户。哪一个是最好的选择: class Product(models.Model): user = models.ForeignKey(auth.models.User) 或 我目前正在使用auth.mo

我终于可以让我的Django+Auth应用程序工作了。我向用户添加额外的信息,如所说。现在,我有一个简单的问题。当我构建一个与用户相关的模型时,我应该与哪个用户相关?要验证.models.User还是我的accounts.UserProfile

例如:我有一个产品模型,而该产品属于一个用户。哪一个是最好的选择:

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


我目前正在使用auth.models.User,因为我可以发布一个get_配置文件,但一些朋友告诉我我错了


谢谢大家!

你做得对

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


此外,正如您所提到的,您可以随时发布“get_profile”来获取额外的数据。

“但是一些朋友告诉我我错了”。从那个朋友那里得到文件。看来他们只是在瞎编。哈哈,你说得对。但是,你知道,人们习惯于做不同的事情。这就是为什么我会在这里问这个问题,很多人都会说:“人们用不同的方式做事”是真的。“这就是为什么我会在这里问这个问题的原因。”先别那么做。总是先了解事实。第二步,向谷歌查询。在这里问第三个问题。特别是“每个用户对象都有一个方法--get_profile()--它返回与该用户关联的用户配置文件模型的实例。”
class Product(models.Model):
    user = models.ForeignKey(accounts.UserProfile)