ton*_*y95 4 django django-models
我有以下模范父母
class ModelParent(PolymorphicModel):
company = models.CharField(max_length=50)
.......
Run Code Online (Sandbox Code Playgroud)
和模范儿童
class ModelChild(ModelParent)
company = models.CharField(max_length=10, blank=True)
...........
Run Code Online (Sandbox Code Playgroud)
如何使模型子公司属性覆盖母公司模型属性而不创建抽象父模型
不幸的是,如果没有抽象父模型,这是不可能的。
\n\n\n\n\n不允许字段名称 \xe2\x80\x9chiding\xe2\x80\x9d
\n\n在普通的 Python 类继承中,子类可以覆盖父类的任何属性。在 Django 中,模型字段通常允许\xe2\x80\x99t。如果非抽象模型基类具有名为“author”的字段,则您可以\xe2\x80\x99t 创建另一个模型字段或在从该基类继承的任何类中定义名为“author”的属性。
\n\n此限制不适用于从抽象模型继承的模型字段。此类字段可能会被其他字段或值覆盖,或者通过设置 field_name = None 来删除。
\n
建议只是创建一个属性或重命名子模型的字段。您可以做的另一件事是删除父模型的“公司”字段并将其移动到所有子模型。
\n\nclass ModelChild(ModelParent)\n\n child_company = models.CharField(max_length=10, blank=True)\n ...........\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2272 次 |
| 最近记录: |