2

我想在 Wagtail 博客项目中设置默认片段(文章类别)。

我的选择是在models.py模块的末尾添加以下行:

if BlogPageCategory.objects.filter(name = 'Association').count() == 0:
    category = BlogPageCategory(name='Association')
    category.save()

这是最好的方法吗?对网站性能有影响吗?

谢谢

4

1 回答 1

3

有多种方法可以实现您想要的:

  • 推荐的方法是使用数据迁移。这种方法的优点是在初始化时会在数据库中设置默认值,而不是运行时操作。
  • 您描述的方式(尽管最好在您的AppConfig's ready()方法中执行此操作(如此处所述,因为这通常是在服务器启动时运行任何代码的地方。它不会对性能产生很大影响,因为它只运行一次(当你的服务器启动时)
  • 使用夹具,IMO 仅在将大量数据加载到数据库时才需要。
于 2020-07-20T09:26:03.557 回答