无法分配 - 必须是“UserProfile”实例

发布于 2024-09-02 02:20:31 字数 345 浏览 6 评论 0原文

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

另外,创建 class UserProfile 是否意味着仍然使用 class userclass UserProfile 只是其他一些表?
我需要知道这一点,因为我必须负责用户配置文件的创建,所以我应该知道什么存储在哪里?

-- 困惑

I have a class UserProfile defined which takes the default user as a foreign key.
Now another class A has a foreign key to UserProfile.
So for saving any instance in class A, how do i give it the userprofile object.

Also, does making a class UserProfile mean that class user is still used and class UserProfile is just some other table?
I need to know this as I have to take care of the user profile creation, so I should know what gets stored where?

--
Confused

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

染年凉城似染瑾 2024-09-09 02:20:31

因此,为了保存 A 类中的任何实例,
我如何给它用户配置文件
对象。

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

此外,是否创建一个 UserProfile 类
意味着该类用户仍然被使用并且
UserProfile 类只是其他一些
表?

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

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

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

So for saving any instance in class A,
how do i give it the userprofile
object.

  1. Create a app with a model which has a models.OneToOneField(User) or a models.ForeignKey(User, unique=True).
  2. Make your project aware of your UserProfile by pointing to it from the settings.py file AUTH_PROFILE_MODULE = 'myapp.UserProfile'.
  3. Read the documentation.

Also, does making a class UserProfile
mean that class user is still used and
class UserProfile is just some other
table?

Yes, your database will have both a auth_user and a user_profile table. This is due to the fact that using UserProfiles doesn't mean all user have to have profiles. Only the additional fields defined in the UserProfile model will be in the user_profile table.

I need to know this as I have to take
care of the user profile creation, so
I should know what gets stored where?

James Bennett created two nice apps which with a few hours of careful reading will be of great help especially when it comes to the user registration part. Go look at django-registration and django-profiles.

梦途 2024-09-09 02:20:31

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

  • 定义一个模型,其中包含您想要存储的附加信息的字段,或者您想要使用的附加方法,并添加一个 OneToOneField 从您的模型到用户模型。这将确保只能为每个用户创建一个模型实例。
  • AUTH_PROFILE_MODULE 设置为 < code>myapp.MyModel,其中 myapp 是包含模型 MyModel 的应用,您希望使用该模型来存储有关用户的额外信息。

I assume your UserProfile model is intended to store additional information about your users. If so, there's documentation about the best approach to do this, which in brief is:

  • define a model with fields for the additional information you'd like to store, or additional methods you'd like to have available, and also add a OneToOneField from your model to the User model. This will ensure only one instance of your model can be created for each User.
  • Set AUTH_PROFILE_MODULE to myapp.MyModel, where myapp is the app containing the model MyModel which you want to use to store extra information about your users.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文