Не получать обновленные поля с использованием сигналов django

Я пытаюсь получить обновленные поля, используя сигналы django. Когда я обновляю модель, используя представление обновления, и вызываю post_save, я получаю update_fields как None в kwargs. Как получить обновленные поля с помощью сигналов django??

signal.py

from .models import Department
from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=Department)
def department_history(sender, created, **kwargs):
 update = kwargs['update_fields']

просмотры.py

class DepartmentEditView(LoginRequiredMixin, SuccessMessageMixin,PermissionRequiredMixin, UpdateView):

model = Department
form_class = DepartmentForm
success_url = reverse_lazy('departments:departments')
success_message  = "%(department_name)s was Updated Sucessfully "
template_name_suffix = '_update'
permission_required = ('departments.change_department',)

🤔 А знаете ли вы, что...
Django имеет инструменты для оптимизации запросов к базе данных, что способствует улучшению производительности.


367
1

Ответ:

просто обновите код в views.py

def form_valid():
    obj=form.save(commit=False)
    obj.save(update_fields=['field_name'])

обновленное имя поля можно получить с помощью form.changed_data