如何在 Wagtail ( ModelAdmin ) 和 Django Rest API 之间共享数据集

问题描述

我正在使用 Wagtail 和 Vue 制作短语翻译应用程序。为此,我将短语模型注册到 Waigtail admin(使用 ModelAdmin),以便编辑者可以在管理工具中添加新数据集。现在我必须创建 API,以便前端可以获取短语。但问题来了。我找不到为短语创建 API 的方法。在我的理解中,ModelAdmin 显然需要 APIViewSet,但关于文档,只有 PagesAPIViewSet、ImagesAPIViewSet 和 DocumentsAPIViewSet。我有点困惑,因为这不是一个奇特的案例。

我正在考虑使用自己的数据库为短语 API 制作一个新的 django 应用程序,但我无法想象它是这样完成的。

解决方法

更新

我现在解决了。它运作良好。说明是:

  1. 只为两个用户创建一个数据库(我使用了 postgres )。一种用于 wagtail,一种用于 django rest api。
  2. 授予他们所有权限。 Info
  3. 设置 django rest api(使用它自己的 venv)和其他应用程序(例如 phrasesapi: python manage.py startapp phrasesapi )。 -> 使用 django-user 将应用程序连接到数据库。
  4. 使用 ModelAdmin ( wagtail_hooks ) 和一个附加应用程序(例如 phrasesapi )设置 wagtail(带有自己的 venv )。这两个应用程序必须具有完全相同的名称。 -> 使用 wagtail-user 将应用程序连接到数据库

现在您可以使用 rest api 或 wagtail cms 对数据库条目(在我的情况下为短语)进行 CRUD。如果有什么不清楚的,请发表评论。