我想在我的程序中以编程方式更新 Django 用户模型的 exera 字段。 我如何更新 Django 中用户模型的额外字段?
def user_profile(request):
query_set = str(Group.objects.filter(user=request.user)[0])
if query_set == 'user':
user = request.user
name = user.first_name
family = user.last_name
extrainfo = ExtraInfo.objects.get(User=user)
extrainfo.title = 'business'
extrainfo.save()
return render(request, 'user-profile.html', {'name': name, 'family': family, 'title': user.extrainfo.title})
else:
messages.warning(request, 'Unauthorized Access!')
return render(request, 'warnings.html')
from django.db import models
from django.contrib.auth.models import User
class ExtraInfo(models.Model):
User = models.OneToOneField(User, primary_key=True, on_delete=models.CASCADE)
title = models.CharField(max_length=25, blank=True)
您可以自动执行此操作
user.extrainfo = ExtraInfo()
user.extrainfo.title = 'business'
user.extrainfo.save()