/ / Django फॉर्म सत्यापन संघर्ष - django, रूपों, सत्यापन, मॉडल

Django फॉर्म सत्यापन संघर्ष - django, फ़ॉर्म, सत्यापन, मॉडल

कुछ अजीब हो रहा है। आइए बताते हैं कि मेरे पास एक क्षेत्र है:

Project_name = models.CharField(max_length=250, unique=True)

इसलिए Project_name एक अद्वितीय मान होना चाहिए अन्यथा यह एक त्रुटि फेंक देगा। फिर मैं अन्य सत्यापन जाँच जोड़ना चाहता हूँ forms.py

def clean(self):
data = self.cleaned_data
if data["team_member2"] == data["team_member3"]:
raise ValidationError("Can"t have duplicate team members")

हालाँकि, एक बार जब मैं इस फंक्शन को ऐड करता हूँ, तो unique ऑपरेटर किसी कारण से काम करना बंद कर देता है। कोई विचार?

उत्तर:

उत्तर № 1 के लिए 1

आप फोन नहीं कर रहे हैं clean ओवरराइड करते समय सुपर क्लास की विधि।

इसे इस्तेमाल करे:

def clean(self):
data =  super(FormClass, self).clean()
if data["team_member2"] == data["team_member3"]:
raise ValidationError("Can"t have duplicate team members")
return data

से प्रलेखन:

कॉल करने के लिए सुपर (कॉन्टैक्टफार्म, सेल्फ) उदाहरण के कोड में यह सुनिश्चित करता है कि माता-पिता कक्षाओं में किसी भी सत्यापन तर्क को बनाए रखा जाता है।