में विशेषताओं को जोड़ना मैं एक मिश्रण लिख रहा हूं जो मेरे मॉडल को आसानी से मूल्यों के गहरे नियम (जैसे .values (), लेकिन रिवर्सिंग रिलेशनशिप में अनुवाद करने की अनुमति देगा)। इन की परिभाषा करने के लिए साफ जगह, मॉडल में खुद को हो रहा है एक ला:Django मॉडल के मेटा क्लास
TypeError: 'class Meta' got invalid attribute(s): schema
(पूरे स्टैक ट्रेस:
class Person(models.Model, DeepValues):
name = models.CharField(blank=True, max_length=100)
tribe = models.ForeignKey('Tribes')
class Meta:
schema = {
'name' : str,
'tribe' : {
'name' : str
}
}
Person.objects.all().deep_values() => {
'name' : 'Andrey Fedorov',
'tribe' : {
'name' : 'Mohicans'
}
}
हालांकि, Django मेरे साथ class Meta
में यह भी शामिल है के बारे में शिकायत here)
अब, मुझे लगता है कि मैं इसे अपने मिश्रण में व्यापक रूप से ओवरराइड कर सकता हूं, लेकिन क्या इस जानकारी को संग्रहीत करने का एक और शानदार तरीका है?
वंशावली के लिए, यह काम नहीं करता है, लेकिन यह किया गया: विकल्प .DEFAULT_NAMES = options.DEFAULT_NAMES + ('default_values',) –
ओह ... यह संभवतः है क्योंकि मेरा समाधान DEFAULT_NAMES को एक सूची में परिवर्तित करता है, जबकि आपका परिष्करण इसे एक ट्यूपल के रूप में रखता है। –
सबसे अधिक संभावना है! :) –