在Django中实现具有许多重叠字段的模型的最佳方法?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Django中实现具有许多重叠字段的模型的最佳方法?相关的知识,希望对你有一定的参考价值。
我需要实现以下逻辑:有一个很大的模型Base
有很多字段和几个较小的模型与它共享一些字段子集。例如,让我们说Base
有字段a
,b
,c
,d
,e
和f
;模特A
有字段a
,b
,g
;模特B
有字段b
,c
,d
,g
;模特C
有领域d
,e
,f
,g
。
试图从抽象模型中进行适当的继承会很快导致混乱,但制作字段的手动副本似乎也不是最理想的,因为主模型中的每个字段都存在于较小的模型中,因此必须列出两次。有什么好办法来解决这个问题?
答案
你需要从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.
以上是关于在Django中实现具有许多重叠字段的模型的最佳方法?的主要内容,如果未能解决你的问题,请参考以下文章
在具有 object-fit 的 flex 容器中实现重叠图像
如何在 django admin change_form 中实现 pygment 语法高亮?