【发布时间】:2019-08-13 19:23:22
【问题描述】:
我的 Django 应用程序的 git 存储库包括几个 .tsv 文件,其中包含用于填充我的应用程序数据库的初始条目。在应用设置期间,这些项目被导入应用的 SQLite 数据库。 SQLite 数据库不存储在应用程序的 git 存储库中。
在正常使用应用程序期间,我计划使用管理面板向数据库添加更多项目。但是,我还希望将这些条目保存为应用程序存储库中的固定装置。我在想一个 JSON 文件可能是这个目的的理想选择,因为它是基于文本的,因此可以与 git 版本控制一起使用。然后这些文件将成为应用程序的更多固定装置,这些固定装置将在初始配置时导入。
如何配置我的应用,以便在我向管理面板添加新条目时,该条目的副本也会保存在 JSON 文件中?
我知道您可以使用manage.py dumpdata 命令将整个数据库转储为 JSON,但我不想要 整个 数据库,我只想要特定数据库表的新条目的 JSON/楷模。
我在想我可以尝试破解模型上的 save 方法来尝试将项目的 JSON 表示写入文件,但我不确定这是否理想。
有没有更好的方法来做到这一点?
【问题讨论】:
-
我相信您正在寻找每次创建或更新的特定数据库条目。您是否查看过转储数据选项,您可以在其中指定应用程序名称和模型名称,以便仅为这些特定模型获取 JSON 转储。您只能选择您更新的模型并为此获取 JSON。这是 Django Docs 中的链接 - dumpdata
标签: json django database git sqlite