मेरे पास एक Django मॉडल है जो इस तरह दिखता है।Django के मॉडलफॉर्म अद्वितीय_एक साथ सत्यापन
class Solution(models.Model):
'''
Represents a solution to a specific problem.
'''
name = models.CharField(max_length=50)
problem = models.ForeignKey(Problem)
description = models.TextField(blank=True)
date = models.DateTimeField(auto_now_add=True)
class Meta:
unique_together = ("name", "problem")
मैं मॉडल है कि इस तरह दिखता है जोड़ने के लिए एक फार्म का उपयोग करें:
class SolutionForm(forms.ModelForm):
class Meta:
model = Solution
exclude = ['problem']
मेरे समस्या यह है कि SolutionForm
Solution
की पुष्टि नहीं करता unique_together
बाधा और है इस प्रकार, यह एक IntegrityError
लौटाता है जब की कोशिश कर रहा फॉर्म को बचाओ। मुझे पता है कि मैं मैन्युअल रूप से जांचने के लिए validate_unique
का उपयोग कर सकता हूं लेकिन मैं सोच रहा था कि फॉर्म सत्यापन में इसे पकड़ने का कोई तरीका है या स्वचालित रूप से एक फॉर्म त्रुटि लौटाएं।
धन्यवाद।
आप यकीन है कि तुम सब कुछ सही ढंग से स्थापित कर रहे हैं क्योंकि मॉडल रूपों स्पष्ट रूप से syas के बारे में दस्तावेज़: "डिफ़ॉल्ट रूप से क्लीन() विधि मॉडल पर अनन्य, अद्वितीय_तुष्ठ या अद्वितीय_for_date | month | वर्ष के रूप में चिह्नित फ़ील्ड की विशिष्टता को मान्य करती है।" Http://docs.djangoproject.com/en/1.1/topics/forms/modelforms/# ओवरराइडिंग-क्लीन-विधि –
क्या आप भाग को बाहर किए बिना इसे आजमा सकते हैं? मैन्युअल रूप से उस समस्या का चयन करें जो मुझे लगता है कि आपके विचार से निर्धारित किया गया है। –