如何在 Django 中从 auth_user table 访问自定义列?
How to Access the custom column from auth_user table in Django?
我可以访问预定义列
(id, password, last_login,is_superuser, username, first_name,
last_name, email, is_staff, is_active, date_joined )
共 auth_user
table .
之后,我在 auth_user
table 中添加了新列 img_url
。
但是来自相同的代码 request.user.img_url
它没有访问 img_url
列的值。
如何访问 img_url
列?
谢谢。
这里有两个选择:
- 您可以扩展现有的用户模型
- 或者您可以实施客户用户模型
对于第一个选项(扩展你现有的模型)你可以这样做:
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'
更多信息:
我可以访问预定义列
(id, password, last_login,is_superuser, username, first_name,
last_name, email, is_staff, is_active, date_joined )
共 auth_user
table .
之后,我在 auth_user
table 中添加了新列 img_url
。
但是来自相同的代码 request.user.img_url
它没有访问 img_url
列的值。
如何访问 img_url
列?
谢谢。
这里有两个选择:
- 您可以扩展现有的用户模型
- 或者您可以实施客户用户模型
对于第一个选项(扩展你现有的模型)你可以这样做:
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'
更多信息: