如果將django模型設爲抽象類,如下所示,是否有方法檢查類以確定它是抽象的?Django - 如何確定模型類是否抽象
class MyModel(models.Model):
class Meta:
abstract = True
我希望我可以檢查MyModel.Meta.abstract,但根據Django文檔:
的Django確實讓一個調整到元類的抽象基類的:在安裝之前,元屬性,它設置abstract = False。這意味着抽象基類的孩子不會自動成爲抽象類。
任何想法?謝謝!
閱讀源代碼有什麼問題?它始終可用。 – 2009-11-20 21:03:59
docs中的摘要與派生類'Meta'相關,而不是'base'。 – 2009-11-21 00:18:21
@ S.Lott - 確實,我是RTFM,但未能通過RTFS。公平起見,許多關於S.O.的問題可能通過閱讀來源自我回答。 @Dmitry - 我對你的評論有點困惑。從django/db/basy.py中可以看出,Meta類中的所有屬性都被轉移到了一個被引用爲_meta的新類。正是這個類保存了模型元類中的原始抽象值。 無論如何,@sheats回答了我的問題(再次感謝)。 – Nagyman 2009-11-23 19:14:37