Я определил ValidationError
. Он отлично работает, но когда я пытаюсь обновить свою форму, он поднимается. Из-за этого я больше не могу обновлять свою форму. Он определяется следующим образом:
def clean_examination(self):
new_exa = self.cleaned_data.get('examination')
try:
old_exa=GeneralData.objects.get(examination=self.cleaned_data.get('examination'))
except GeneralData.DoesNotExist:
return new_exa
if old_exa:
raise forms.ValidationError('Object with this examination already exists!')
return new_exa`
Можно ли "деактивировать" мой ValidationError
, если форму нужно обновить?
Дополнительная информация: Моя модель:
class GeneralData(models.Model):
examination = models.ForeignKey(Examination, on_delete=models.CASCADE, help_text='This value is pasted in automatically and is not editable!')
attr1= models.FloatField()
attr2= models.FloatField()
Мой вид обновления:
class GeneralDataUpdate(LoginRequiredMixin, generic.UpdateView):
model = GeneralData
form_class = GeneralDataCreateForm
template_name_suffix = '_update_form'
login_url = 'member:login'
def get_success_url(self):
return reverse('member:detail', kwargs={'pk': self.get_object().examination.patient_id})
def get_context_data(self, **kwargs):
context = super(GeneralDataUpdate, self).get_context_data(**kwargs)
context['action'] = reverse('member:generaldata-update',
kwargs={'pk': self.get_object().id})
return context
Мой URL-адрес обновления:
url(r'examination/(?P<pk>[0-9]+)/generaldata/update/$', views.GeneralDataUpdate.as_view(), name='generaldata-update')