【问题标题】:How to Access the custom column from auth_user table in Django?如何从 Django 中的 auth_user 表访问自定义列?
【发布时间】:2016-07-22 04:01:43
【问题描述】:

我可以访问预定义列

(id, password, last_login,is_superuser, username, first_name, 
       last_name, email, is_staff, is_active, date_joined )

auth_user 表。

之后我在auth_user 表中添加了新列img_url

但是来自相同的代码request.user.img_url 它没有访问img_url 列的值。

如何访问img_url 列?

谢谢。

【问题讨论】:

    标签: python sql django postgresql django-login


    【解决方案1】:

    你有两个选择:

    1. 您可以扩展现有的用户模型
    2. 或者您可以实现自定义用户模型

    对于第一个选项(扩展您现有的模型)您可以这样做:

    from django.contrib.auth.models import User
    
    class NewUserModel(models.Model):
        user = models.OneToOneField(User, on_delete=models.CASCADE)
        new_field_name = models.CharField(max_length=100)
    

    然后像这样使用它:

    u = User.objects.get(username='fsmith')
    freds_department = u.employee.department
    

    对于第二个选项(自定义用户模型),您可以这样做:

    在 sample_app 中创建一个模型,并在 settings.py 中给出它的引用,例如:

    AUTH_USER_MODEL = 'sample_app.MyUser'
    

    更多信息:

    Customizing authentication in Django

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-19
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 2010-11-16
      • 2015-06-26
      • 1970-01-01
      相关资源
      最近更新 更多