類的名稱,我有一個Django模型:獲取的Django模型
class Book(models.Model):
[..]
,我想有型號名稱爲字符串:「書」。當我嘗試這樣得到它時:
Book.__class__.__name__
它返回'ModelBase'。
有什麼想法?
類的名稱,我有一個Django模型:獲取的Django模型
class Book(models.Model):
[..]
,我想有型號名稱爲字符串:「書」。當我嘗試這樣得到它時:
Book.__class__.__name__
它返回'ModelBase'。
有什麼想法?
嘗試Book.__name__
。
Django模型來自ModelBase
,它是所有模型的Metaclass。
而是階級本身做Book.__class__.__name__
的,如果你這樣做了一本書的對象,然後book_object.__class__.__name__
會給你「書」(即模型的名稱)
class Book(models.Model):
[..]
def class_name(self):
return self.__class__.__name__
通過這種方式,只要您稱爲book.class_name(同樣在模板{{book.class_name}}
中),它將返回類名'Book'。
我使用了類的名字,我的情況
str(Book._meta)
Book.__class__.__name__ -> this will give you the ModelBase
謝謝; 'str(self.model._meta)'是我正在尋找的;至於其他給我的父母班。 – ppython 2017-10-16 13:54:56
這一次幫助了我。我合併了2個不同模型的查詢集。在循環中,我需要在迭代時獲取對象的類名。 – Peter 2015-11-19 17:06:31
彼得,你是如何合併兩個查詢集的?或者是合併集合只是一個模型實例列表?謝謝 – 2017-01-25 20:40:27