代码之家  ›  专栏  ›  技术社区  ›  Dariush

在Django中实现具有许多重叠字段的模型的最佳方法?

  •  1
  • Dariush  · 技术社区  · 7 年前

    我需要实现以下逻辑:有一个大模型 Base 底座 a , b , c , d e f ;型号 A 有字段 , b g ;型号 B 有字段 b , , d , C 有字段 d , e , , .

    尝试从抽象模型进行适当的继承会很快导致混乱,但是手动复制字段似乎也不太理想,因为主模型中的每个字段都出现在较小的字段中,因此必须列出两次。有什么好办法?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Artem Bernatskyi second    7 年前

    你需要继承 Base 让它成为现实 abstract
    然后重写不需要的字段 None .

    Django文件提到 this here .
    Fields inherited from abstract base classes can be overridden with another field or value, or be removed with None.