मेरे पास कम से कम मेरे लिए कुछ अजीब व्यवहार है, जो मुझे मेरे प्रोजेक्ट में कुछ बग पैदा कर रहा है।क्यों Django की संबंधित_मोडेल संपत्ति मॉडल उदाहरण के बजाय स्ट्रिंग लौट रही है?
मैं Django 1.9 और एक तीसरी पार्टी Django पैकेज (django-jet) कि Django व्यवस्थापक में field.related_model
संपत्ति का उपयोग करता है और कभी कभी यह विफल रहता है, क्योंकि यह field.related_model
रिटर्न एक मॉडल उदाहरण अपेक्षा करता है और अपने मॉडल से कुछ के लिए मॉडल का नाम लौटा रहा है उपयोग कर रहा हूँ ।
This is the property defined in Django code:
@cached_property
def related_model(self):
# Can't cache this property until all the models are loaded.
apps.check_models_ready()
return self.remote_field.model
चीज़ें है कि मैंने कोशिश की:
- तो Django के related_model एक @property बजाय एक @cached_property यह काम करता है और मॉडल उदाहरण देता है।
- यदि मैं
field.related_model
की बजायfield.remote_field.model
पर कॉल करता हूं, जो कि बग का कारण बनता है और मॉडल उदाहरण देता है।
कृपया, क्या आपको कोई विचार है? मैं कामकाज कर सकता हूं लेकिन मैं जानना चाहता हूं कि यह व्यवहार क्यों है।
अग्रिम धन्यवाद!