Мой вопрос довольно прост, у меня есть класс в моей модели приложения, который наследуется от models.Model
.
Я переопределяю метод clean_fields
django-admin, чтобы выполнить некоторыетаможенная проверка моей формы.Проблема в том, что когда он выдает ValidationError
из моей пользовательской проверки, если пользователь пытается снова отправить форму с правильной информацией, он всегда сохраняет данные из предыдущей отправки.
class SignedOffModelValidation(models.Model):
class Meta:
abstract = True
def clean_fields(self, exclude = None):
super(SignedOffModelValidation, self).clean_fields(exclude)
errors = {}
if getattr(self, self._meta.immutable_sign_off_field, False):
relation_fields = [
f for f in self._meta.fields
if isinstance(f,(models.ForeignKey,models.ManyToManyField,))
and not f.name.endswith('_ptr')
]
for field in relation_fields:
try:
field_value = getattr(self, field.name)
signed_off = getattr(
field_value,
field_value._meta.immutable_sign_off_field
)
except (AttributeError, ObjectDoesNotExist,):
continue
else:
if not signed_off:
msg = u'In order to signeoff, %s needs to be Signed Off' % \
(str(field_value),)
errors[field.name] = ([msg])
if errors:
raise ValidationError(errors)
Любойбыла бы признательна за помощь!
С наилучшими пожеланиями