Не получать обновленные поля с использованием сигналов Django
Я пытаюсь получить обновленные поля, используя сигналы django. Когда я обновляю модель, используя вид обновления, и вызываю post_save, я получаю update_fields как None в kwargs. Как получить обновленные поля, используя сигналы Django??
signals.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']
views.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',)
1 ответ
Просто обновите код в views.py
def form_valid():
obj=form.save(commit=False)
obj.save(update_fields=['field_name'])
обновленное имя поля можно получить с помощью form.changed_data