2010-04-09 9 views
6

/mysite/project4Django syncdb त्रुटि: एक या अधिक मॉडल को मान्य नहीं किया

class notes(models.Model): 
    created_by = models.ForeignKey(User) 
    detail = models.ForeignKey(Details) 

विवरण और उपयोगकर्ता एक ही मॉड्यूल यानी में हैं,/mysite/Project1 Project1 मॉडल में मैं परिभाषित किया है

class User(): 
     ...... 

    class Details(): 
     ...... 

जब डीबी मैं synced वहाँ

Error: One or more models did not validate: project4: Accessor for field 'detail' clashes with related field . Add a related_name argument to the definition for 'detail'.

कह एक त्रुटि है

यह कैसे हल किया जा सकता ..

धन्यवाद ..

+0

यदि यह किसी के लिए उपयोगी है, तो मुझे यह वही त्रुटि मिली क्योंकि मैं एक तृतीय पक्ष lib, टैगगिट का उपयोग कर रहा था, जिसे मैंने संदर्भित किया था लेकिन मेरे इंस्टॉल किए गए ऐप्स श्रेणी में नहीं रखा था। – RussellStewart

उत्तर

8

जी हम सिर्फ इस एक था, और मैंने उत्तर दिया ...

आपके पास कई विदेशी कुंजी हैं जो django के लिए अद्वितीय नाम उत्पन्न करने में असमर्थ हैं।

आप अपने मॉडलों में विदेशीकी फ़ील्ड परिभाषाओं में "related_name" तर्क जोड़कर मदद कर सकते हैं। उदाहरण:

class notes(models.Model): 
    created_by = models.ForeignKey(User, related_name="note_created_by_user") 
    detail = models.ForeignKey(Details, related_name="noted_and_detailed") 

और अधिक के लिए यहां देखें। http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.related_name

संबंधित मुद्दे