Ben*_*rts 26 django django-models
我有三个不同的抽象模型基类...我想在多重继承中使用它们,有点像Mixins.这有什么问题吗?
例如,
class TaggableBase(models.Model):
. . .
class Meta:
abstract = True
class TimeStampedBase(models.Model):
. . .
class Meta:
abstract = True
class OrganizationalBase(models.Model):
. . .
class Meta:
abstract = True
class MyTimeStampedTaggableOrganizationalModel(OrganizationalBase, TimeStampedBase, TaggableBase):
. . .
Run Code Online (Sandbox Code Playgroud)
Bru*_*tus 12
如果你使用任何领域都在你的类,继承models.Model
.
否则Django将忽略这些字段(Python中的属性仍然存在,但DB中不会创建任何字段).设置abstract = True
为像行为一样获得"mixin"(即不会为mixin创建DB表,而是为使用这些mixin的模型创建).
如果你不使用任何字段,你可以继承object
,保持简单明了.
听起来你正在尝试做什么,mixins真的是最合适的.一个简单的谷歌搜索会发现很多关于在python中实现mixins的文章,比如这个.我不确定多重继承是最好的方法,所以你可能想要探索所有其他选项.还有什么想到的?
归档时间: |
|
查看次数: |
11735 次 |
最近记录: |