Django 在视图中将用户 is_active 更新为 True

Django update user is_active to True in a view

我有一个django视图如下:

@staff_member_required
def approve(request, pk):

    prnt = Parent.objects.get(id=pk)
    prnt.request_status = 'A'
    prnt.user.is_active = True

    prnt.save()

视图更新除 is_active 字段之外的每个字段。这里 User 与 Parent 模型具有 OneToOne 关系。问题在哪里?控制台也不会抛出任何错误。

您需要手动保存 user 对象:

prnt = Parent.objects.get(id=pk)
prnt.request_status = 'A'
prnt.user.is_active = True
prnt.user.save()  # <---- here
prnt.save()