Як прочитати назву таблиці бази даних екземпляра Model?


101

З огляду на об'єкт екземпляра моделі, як я можу отримати ім’я таблиці бази даних?

Я не хочу чітко вказувати імена в класі Meta.

Відповіді:


179

Я знайшов відповідь: атрибут _meta примірника містить інформацію:

model_instance._meta.db_table

це досить дивно, що назва таблиці моделі доступна із захищеного атрибута_meta::Options
Алекс-Богданов

5
@ Олексій-Богданов: _metaмайно не захищене. Це задокументована частина публічного API. Це префікс із провідним підкресленням, щоб уникнути конфліктів із іменами, які люди, можливо, бажають використовувати на своїх моделях.
Райан Гіберт

1
Якщо ви хочете, створіть метод властивості, щоб повернути його ... @property def table_name(self): return self._meta.db_table
Jcc.Sanabria
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.