是否可以在不修改相关应用程序的情况下重新定义 INSTALLED_APP 中使用的模型?例如,django-basic-blog 有一个 Post 模型,我想向其中添加一个字段。我可以直接编辑 django-basic-blog 但为了代码可移植性,我想在它之上构建。我不想子类化,因为我想保留对 Post 模型的所有现有引用。提前致谢!
最佳答案
contribute_to_class
在一些 models.py
在您要修改的文件之后将在应用程序中加载的文件:模型.py:
from django.db.models import CharField
from blog.models import Post
CharField(max_length="100").contribute_to_class(Post, 'new_field')
如果你这样做,你总是不得不冒这样的风险,你的更改可能会与其他代码段发生冲突,并且你的代码将更难维护!
关于django - 如何覆盖在 Django 中安装的应用程序中定义的模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4272092/