Как получить предыдущие данные модели в формах

#django #django-models #django-forms #django-views

#django #django-модели #django-forms #django-представления

Вопрос:

Как получить предыдущие данные TrustyRequest поля status модели. Мне нужны предыдущие данные status field из-за этого условия

 if User.objects.filter(email=email).exists() and status=='Accepted':
  

Я хочу увидеть предыдущее состояние status поля и сравнить с текущим статусом, который обновляется — status=='Accepted' .

 class TrustyRequestForm(forms.ModelForm):
    class Meta:
        model = TrustyRequest
        fields = [
            'masjid_name', 
            'masjid_address', 
            'first_name', 
            'last_name', 
            'email', 
            'phone_number',
            'status',
        ]

    def clean(self):
        cleaned_data = super().clean()
        email = cleaned_data.get("email")
        status = cleaned_data.get("status")

        if User.objects.filter(email=email).exists() and status=='Accepted':
            raise forms.ValidationError("Email Already Exists")
  

Комментарии:

1. Вы можете получить исходное значение из self.instance.status .

2. Спасибо, это сработало

Ответ №1:

Чтобы получить предыдущий экземпляр, используйте self.instance.status