चलें कहते हैं कि मैं दो Django क्षुधा है:Django: क्या ManyToManyField युक्त मॉडल के लिए एक अलग ऐप में ManyToManyField में "through" मॉडल रखने का कोई तरीका है?
- प्रतियोगिताओं - जो प्रतियोगिता डेटा संभाल लेंगे
- प्रविष्टियों - जो कार्यक्षमता प्रतियोगिताओं में प्रवेश प्रतियोगियों से संबंधित
में संभाल लेंगे प्रतियोगिताओं ऐप में मेरे पास एक मॉडल है जो प्रतिस्पर्धा के एक वर्ग का प्रतिनिधित्व करता है:
class Division(models.Model):
competition = models.ForeignKey(Competition)
discipline = models.CharField(max_length=1, choices=DISCIPLINE_CHOICES)
age_group = models.ForeignKey(AgeGroup)
participants = models.ManyToManyField(Competitor, through='Entry')
मैं प्रविष्टियों अनुप्रयोग में एंट्री मॉडल रखना चाहता हूँ:
class Entry(models.Model):
division = models.ForeignKey('Division')
competitor = models.ForeignKey(Competitor)
withdrawn = models.BooleanField(default=False)
मैं कैसे से ... आयात ... बयान को हल करते हैं, ताकि वे काम करते हैं?
Error: One or more models did not validate: entries.entry: 'division' has a relation with model Division, which has either not been installed or is abstract. competitions.division: 'participants' specifies an m2m relation through model Entry, which has not been installed
मुझे समझ में क्यों: जब मैं आयात बयान में डाल इस तरह के from entries.models import Entry
के रूप में मैं जब मैं उनमें से एक या दोनों को दूर मैं सत्यापन त्रुटियों मिल मॉडल इन एप्लिकेशन को (क्योंकि आयात परिपत्र कर रहे हैं) या syncdb द्वारा नजरअंदाज कर दिया से मिलता है ऐसा होता है, लेकिन मुझे नहीं पता कि इसे कैसे बदला जाए, ताकि यह काम करे (एंट्री मॉडल को प्रतियोगिताओं ऐप में ले जाने के बिना, जो मैं वास्तव में नहीं करना चाहता)।
आप पोस्ट कर सकते हैं 'प्रतियोगी 'वर्ग? – czarchaic