Django:我可以根据用户需求运行syncdb吗? (保持模型与文件系统同步)

时间:2013-11-22 00:52:05

标签: django django-models

我有一个表示服务器上数据文件的Django模型,其中包含有关每个文件的一些元数据。这些文件由仪器生成,可以在一天中的任何时间出现。我希望Django表能够反映实际可供用户选择的文件。

这是我到目前为止所做的:

  • 我有一个python脚本扫描目录,生成一个intial_data.json文件并将其放在app / fixtures目录中。 (该脚本从每个文件中提取重要元数据,以便用户轻松进行选择。)
  • 我有fixtures工作,因此当我运行syncdb时,它会将数据加载到模型中。

我的问题是,我如何重复这样做(每小时?按需? - 例如,点击页面上的按钮触发?)

我的印象是syncdb只是偶尔运行,例如,用于数据迁移。我错了 - 我可以“点击按钮”运行它吗?

有没有更好的方法让我的表与文件系统保持同步?我考虑过使用FileFieldFilePathField,但这些似乎不可行,因为我想用文件元数据预加载表。

1 个答案:

答案 0 :(得分:1)

我不明白你为什么要使用syncdb。这真的是用于创建表格。如果您所做的只是装载夹具,为什么不直接这样做?您可以使用django.core.serializers来解析和加载您的JSON文件(我建议将其称为除initial_data之外的其他内容)。