在 Wagtail 中设置默认片段的最佳方法是什么
What is the best way to setup default snippets in Wagtail
我想在 Wagtail 博客项目中设置默认片段(文章类别)。
我的选择是在 models.py 模块的末尾添加以下行:
if BlogPageCategory.objects.filter(name = 'Association').count() == 0:
category = BlogPageCategory(name='Association')
category.save()
这是最好的方法吗?对网站性能有影响吗?
谢谢
有多种方法可以实现你想要的:
- 推荐的方法是使用 Data migrations。这种方法的优点是在初始化时将在数据库中设置默认值,而不是 运行 时间操作。
- 您描述的方式(尽管最好在您的
AppConfig's
ready()
方法中执行此操作(如 here 所述),因为这是最常见的地方运行 服务器启动时的任何代码。它不会对性能产生很大影响,因为它只 运行 一次(当您的服务器启动时)
- 使用固定装置,IMO 只有在将大量数据加载到数据库中时才需要使用固定装置。
我想在 Wagtail 博客项目中设置默认片段(文章类别)。
我的选择是在 models.py 模块的末尾添加以下行:
if BlogPageCategory.objects.filter(name = 'Association').count() == 0:
category = BlogPageCategory(name='Association')
category.save()
这是最好的方法吗?对网站性能有影响吗?
谢谢
有多种方法可以实现你想要的:
- 推荐的方法是使用 Data migrations。这种方法的优点是在初始化时将在数据库中设置默认值,而不是 运行 时间操作。
- 您描述的方式(尽管最好在您的
AppConfig's
ready()
方法中执行此操作(如 here 所述),因为这是最常见的地方运行 服务器启动时的任何代码。它不会对性能产生很大影响,因为它只 运行 一次(当您的服务器启动时) - 使用固定装置,IMO 只有在将大量数据加载到数据库中时才需要使用固定装置。