无法分配 - 必须是“UserProfile”实例
我定义了一个 UserProfile 类,它将默认的 user 作为外键。 现在另一个 A 类
具有 UserProfile
的外键。
因此,为了保存 A 类中的任何实例,我如何为其提供 userprofile 对象。
另外,创建 class UserProfile
是否意味着仍然使用 class user
而 class 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
models.OneToOneField(User)
或models.ForeignKey(User, unique=True)
的模型创建应用。AUTH_PROFILE_MODULE = 'myapp.UserProfile'
指向您的 UserProfile,让您的项目了解您的 UserProfile。是的,您的数据库将同时包含
auth_user
和user_profile
表。这是因为使用 UserProfiles 并不意味着所有用户都必须拥有配置文件。只有UserProfile
模型中定义的其他字段才会出现在user_profile
表中。James Bennett 创建了两个不错的应用程序,经过几个小时的仔细阅读,将会有很大的帮助,尤其是在用户注册部分。去看看 django-registration 和 django-profiles。
models.OneToOneField(User)
or amodels.ForeignKey(User, unique=True)
.AUTH_PROFILE_MODULE = 'myapp.UserProfile'
.Yes, your database will have both a
auth_user
and auser_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 theUserProfile
model will be in theuser_profile
table.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.
我假设您的
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:OneToOneField
from your model to the User model. This will ensure only one instance of your model can be created for each User.AUTH_PROFILE_MODULE
tomyapp.MyModel
, wheremyapp
is the app containing the modelMyModel
which you want to use to store extra information about your users.