0

我有一个class UserProfile定义,它将默认值user作为外键。现在另一个class A有一个外键UserProfile
因此,为了保存 A 类中的任何实例,我如何给它 userprofile 对象。

此外,是否制作仍在使用的class UserProfile平均值并且只是其他表格? 我需要知道这一点,因为我必须处理用户配置文件的创建,所以我应该知道什么存储在哪里? class userclass UserProfile

—— 困惑

4

2 回答 2

1

我假设您的UserProfile模型旨在存储有关您的用户的其他信息。如果是这样,有关于执行此操作的最佳方法的文档,简而言之:

  • 定义一个模型,其中包含您想要存储的其他信息或您想要使用的其他方法的字段,并将模型中的一个添加OneToOneField到 User 模型中。这将确保只能为每个用户创建一个模型实例。
  • 设置AUTH_PROFILE_MODULEmyapp.MyModel,包含要用于存储有关用户的额外信息myapp的模型的应用程序在哪里。MyModel
于 2010-05-21T11:21:34.920 回答
1

因此,为了保存 A 类中的任何实例,我如何给它 userprofile 对象。

  1. 使用具有models.OneToOneField(User)或的模型创建应用程序models.ForeignKey(User, unique=True)
  2. 通过从 settings.py 文件中指向您的用户配置文件,让您的项目了解您的用户配置文件AUTH_PROFILE_MODULE = 'myapp.UserProfile'
  3. 阅读文档

另外,创建类 UserProfile 是否意味着仍然使用类用户,而类 UserProfile 只是其他表?

是的,您的数据库将同时具有 aauth_useruser_profile表。这是因为使用 UserProfiles 并不意味着所有用户都必须拥有配置文件。只有UserProfile模型中定义的附加字段才会出现在user_profile表中。

我需要知道这一点,因为我必须处理用户配置文件的创建,所以我应该知道什么存储在哪里?

James Bennett 创建了两个不错的应用程序,经过几个小时的仔细阅读将有很大帮助,尤其是在用户注册部分。去看看django-registrationdjango-profiles

于 2010-05-21T11:50:34.120 回答