कहें my_instance
मॉडल MyModel
का मॉडल है।
मुझे क्या करना एक अच्छा तरीका के लिए देख रहा हूँ:django: उस मॉडल के उदाहरण से मॉडल प्राप्त करने का सबसे अच्छा तरीका
my_model = get_model_for_instance(my_instance)
मैं यह करने के लिए किसी भी वास्तव में सीधा रास्ता नहीं मिला है।
from django.db.models import get_model
my_model = get_model(my_instance._meta.app_label, my_instance.__class__.__name__)
इस स्वीकार्य है: अब तक मैं इस के साथ आए हैं? क्या यह भी एक निश्चित आग है, इसे करने का सबसे अच्छा तरीका है?
_meta.object_name
भी है जो __class__.__name__
जैसा ही प्रतीत होता है। क्या यह? बेहतर या बदतर है? यदि हां, तो क्यों?
साथ ही, मुझे कैसे पता चलेगा कि अगर मैं परियोजना के दायरे में ऐप लेबल कई बार होता हूं तो मुझे सही मॉडल मिल रहा है, उदा। 'duthango.contrib.auth' से 'auth' और 'myproject.auth' भी होने दें?
क्या ऐसा कोई मामला get_model
अविश्वसनीय करेगा?
किसी भी संकेत/पॉइंटर्स और अनुभव साझा करने के लिए धन्यवाद!
'__class__' बिल्कुल ** ** उदाहरण के लिए कक्षा होना चाहिए। कोई संभावित अस्पष्टता नहीं है। पाइथन काम करता है। आप क्या पूछ रहे हो? –
ठीक है, मेरे पास समझने की कुछ सीमाएं हैं। मेरे लिए, अस्पष्टता यह है कि विभिन्न मॉड्यूल में रहने वाले एक से अधिक ऐप लेबल/कक्षा नाम संयोजन हो सकते हैं। हालांकि, get_model को इनपुट के रूप में मॉड्यूल प्राप्त नहीं होता है। तो यह कौन सा मॉडल वितरित करेगा? दूसरी बात यह है कि मुझे समझ में नहीं आता कि ऑब्जेक्ट_नाम किस लिए अच्छा है, क्योंकि यह '__class __.__ name__' के समान स्ट्रिंग देता है, और कितने लोग' get_model' या अन्य जगहों में उपयोग के लिए इनमें से कौन सा चुनते हैं। धन्यवाद! – Geradeausanwalt