如何在 Django CMS 的外部应用程序中修改 models.py
How can I modify models.py in external app in Django CMS
我正在尝试修改现有模型(在 Django CMS Blog 应用程序中)。有一个 Post
class,我可以在 Django CMS Blog 项目里面的 models.py 修改它,像这样:
media = PlaceholderField("media", related_name="media")
post_title = PlaceholderField("post_title", related_name="post_title") # My code
content = PlaceholderField("post_content", related_name="post_content")
liveblog = PlaceholderField("live_blog", related_name="live_blog")
迁移后数据库看起来像 this。
如您所见,该字段已添加。但是我怎样才能从我的本地项目文件中做到这一点呢?我不想在 3d 派对应用程序模型中添加此代码,因为它会导致更新此 3d 派对应用程序时出现问题。
我认为最好的方法是在您的应用程序中扩展来自 Django CMS 博客的 Post
模型。
my_app/models.py
from djangocms_blog.models import Post
class MyCustomPost(Post):
# This will have every field in the parent Post model, plus the ones you add below.
my_custom_field = ...
然后使用 MyCustomPost
(在您的视图、表单、管理...)而不是使用原始的 Post
模型。
除了将该应用程序复制到您的项目文件夹并在那里进行更改外,没有找到任何解决方案。
我正在尝试修改现有模型(在 Django CMS Blog 应用程序中)。有一个 Post
class,我可以在 Django CMS Blog 项目里面的 models.py 修改它,像这样:
media = PlaceholderField("media", related_name="media")
post_title = PlaceholderField("post_title", related_name="post_title") # My code
content = PlaceholderField("post_content", related_name="post_content")
liveblog = PlaceholderField("live_blog", related_name="live_blog")
迁移后数据库看起来像 this。 如您所见,该字段已添加。但是我怎样才能从我的本地项目文件中做到这一点呢?我不想在 3d 派对应用程序模型中添加此代码,因为它会导致更新此 3d 派对应用程序时出现问题。
我认为最好的方法是在您的应用程序中扩展来自 Django CMS 博客的 Post
模型。
my_app/models.py
from djangocms_blog.models import Post
class MyCustomPost(Post):
# This will have every field in the parent Post model, plus the ones you add below.
my_custom_field = ...
然后使用 MyCustomPost
(在您的视图、表单、管理...)而不是使用原始的 Post
模型。
除了将该应用程序复制到您的项目文件夹并在那里进行更改外,没有找到任何解决方案。