मॉडल उदाहरण का डेटाबेस तालिका नाम कैसे पढ़ें?


101

किसी मॉडल के उदाहरण ऑब्जेक्ट को देखते हुए, मैं डेटाबेस तालिका का नाम कैसे प्राप्त कर सकता हूं?

मैं मेटा क्लास में स्पष्ट रूप से नाम निर्दिष्ट नहीं करना चाहता।

जवाबों:


179

स्वयं उत्तर मिला: एक उदाहरण की _meta विशेषता में जानकारी है:

model_instance._meta.db_table

यह काफी अजीब है कि संरक्षित विशेषता से सुलभ मॉडल की तालिका का नाम_meta::Options
एलेक्स-

5
@ एलेक्स-बोगदानोव: _metaसंपत्ति संरक्षित नहीं है। यह सार्वजनिक एपीआई का एक प्रलेखित हिस्सा है। यह प्रमुख अंडरस्कोर के साथ उपसर्ग है नामों के साथ टकराव से बचने के लिए जो लोग वास्तव में अपने मॉडल पर उपयोग करना चाहते हैं।
रयान हाईबर्ट

1
यदि आप इसे वापस करने के लिए एक संपत्ति विधि बनाना चाहते हैं ... @property def table_name(self): return self._meta.db_table
Jcc.Sanabria
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.