Python 如何使用'construct_change_message'在我自己的视图中创建一个'change_message',在django中的内置'LogEntry'模型中记录我的操作

Python 如何使用'construct_change_message'在我自己的视图中创建一个'change_message',在django中的内置'LogEntry'模型中记录我的操作,python,django,Python,Django,我在视图中添加了一个代码,用于在我的“添加新员工”页面中记录每个添加操作。代码如下: message = f'New user added. Added staff profile for {user.first_name} {user.last_name}' log = LogEntry.objects.log_action( user_id=request.user.id, co

我在视图中添加了一个代码,用于在我的“添加新员工”页面中记录每个
添加操作。代码如下:

            message = f'New user added. Added staff profile for {user.first_name} {user.last_name}'

            log = LogEntry.objects.log_action(
                user_id=request.user.id,
                content_type_id=ContentType.objects.get_for_model(user).pk,
                object_id=repr(user.id),
                # or any field you wish to represent here
                object_repr=repr(user.username),
                action_flag=ADDITION,  # assuming it's a new object
                change_message=message,)  # a new user has been added

            log.save()
在这里,我只通过
message
string定制了一个get消息。我认为,对于这个
add\u staff\u view
来说,这样做是可以的。但是现在,我正在处理我的
ProfileUpdateView
,而且,我需要记录这个
CHANGE
操作。我看到django admin中的change/update页面如何在LogEntry模型中插入
change\u消息(它显示哪些字段被更改/更新),我想不出在我自己的
ProfileUpdateView
中做这件事的方法

这是我的
档案更新视图

@login_required
def ProfileUpdateView(request):
    if request.method == 'POST':
        user_form = accounts_forms.UserUpdateForm(request.POST, instance=request.user)
        if request.user.is_staff == True:
            profile_form = accounts_forms.StaffProfileUpdateForm(
                request.POST, instance=request.user.staffprofile)
        else:
            profile_form = accounts_forms.StudentProfileUpdateForm(
                request.POST, instance=request.user.studentprofile)

        if user_form.is_valid() and profile_form.is_valid():
            user_form.save()
            profile_form.save()

            log = LogEntry.objects.log_action(
                user_id=request.user.id,
                content_type_id=ContentType.objects.get_for_model(user).pk,
                object_id=repr(user.id),
                object_repr=str(user.username),
                action_flag=CHANGE,
                change_message = 'IM STUCK HERE',)

                log.save()

            messages.success(request, 'Your profile has been updated.')
            return redirect('update-profile')

    else:
        user_form = accounts_forms.UserUpdateForm(instance=request.user)
        if request.user.is_staff == True:
            profile_form = accounts_forms.StaffProfileUpdateForm(instance=request.user.staffprofile)
        else:
            profile_form = accounts_forms.StudentProfileUpdateForm(
                instance=request.user.studentprofile)
    context = {
        'user_form': user_form,
        'profile_form': profile_form,
    }
    return render(request, 'accounts/update_profile.html', context)
非常感谢您的帮助,谢谢