【发布时间】:2011-03-18 03:31:57
【问题描述】:
如何仅从当前类而不是从可能的父类中获取属性?如果我使用getattr,它会遍历类层次结构,但如果属性未在当前类中定义(即使它在某些父类中定义),我想获得None。
【问题讨论】:
-
为什么你要同时使用继承来定义类而不是在类中使用继承?这听起来像你犯了一个设计错误。你能提供更多细节吗?
-
是的,这有点骇人听闻。问题是我必须重用现有的 API,所以我不得不玩丑。但我认为这本身就是一个有效的问题。
-
这听起来不像“hackish”——听起来很糟糕。您应该使用 Delegation。不是继承。请提供一些您认为您正在尝试做的事情的背景。
-
我已经发布了最终代码on Django Trac。我制作了一个元类和 mixin 以允许多个 ModelForm 继承。
-
我也有 posted an answer 在 Stack Overflow 上使用这个元类和 mixin。