कुछ अजीब हो रहा है। आइए बताते हैं कि मेरे पास एक क्षेत्र है:
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
से प्रलेखन:
कॉल करने के लिए सुपर (कॉन्टैक्टफार्म, सेल्फ) उदाहरण के कोड में यह सुनिश्चित करता है कि माता-पिता कक्षाओं में किसी भी सत्यापन तर्क को बनाए रखा जाता है।