更新 Django 中的 OneToOneField 关系

问题描述 投票:0回答:1

我想在我的程序中以编程方式更新 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)
django django-models model
1个回答
0
投票

您可以自动执行此操作

user.extrainfo = ExtraInfo()
user.extrainfo.title = 'business'
user.extrainfo.save()
© www.soinside.com 2019 - 2024. All rights reserved.