【问题标题】:Django: Saving a user profileDjango:保存用户配置文件
【发布时间】:2012-08-01 23:17:44
【问题描述】:

这是非常基本的,但我在上面找不到任何东西。我有一个按以下方式定义的用户配置文件:

def create_user_info(sender, instance, created, **kwargs):
    if created:
        UserInfo.objects.create(user=instance)

User.profile = property(lambda u: UserProfile.objects.get_or_create(user=u)[0])

现在如何设置属性?

【问题讨论】:

    标签: python django python-2.x user-profile


    【解决方案1】:

    首先。 Monkey-patching User 不是正确的方法。在settings.py中设置AUTH_PROFILE_MODULE = 'yourapp.UserInfo',然后就可以使用user_instance.get_profile()自动获取profile了。

    那么,修改你刚才做的配置文件:

    profile = user.get_profile()
    profile.some_field = 'some value'
    profile.save()
    

    【讨论】:

    • 谢谢,出于某种原因,所有这些网站都说这是一种更好的方法(使代码更干净),但我把它改回了 Django 文档所说的内容。
    • 在 django1.5 AUTH_PROFILE_MODULE 已弃用:docs.djangoproject.com/en/1.5/ref/settings/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    相关资源
    最近更新 更多