class MyModel(models.Model):
def save(self, *args, **kwargs):
super().save(*args, **kwargs)
if getattr(self, 'my_attr', False):
# do things
class MyForm(forms.ModelForm):
def clean(self)
cleaned_data = super().clean()
if self.has_changed():
self.instance.my_attr = self.get_the_needed_info()
return cleaned_data
class Meta:
model = MyModel
fields ='__all__'
@admin.register(MyModel)
class MyAdmin(admin.ModelAdmin)
form = MyForm
Во время MyModel.save()
мне нужно проверить условие, которое оценивается в ModelForm.clean()
.
Во время clean()
я присваиваю атрибут my_attr
self.instance
.
Есть есть какая-то причина, по которой я скучаю, что требует рефакторинга?