Python 我可以创建models.py模型从文件系统(而不是数据库)加载数据吗?

Python 我可以创建models.py模型从文件系统(而不是数据库)加载数据吗?,python,django,model-view-controller,Python,Django,Model View Controller,我们有一个测试工具,它按照如下目录结构生成测试结果: test-results/${TEST-ID}/exec_${YYYYMMDD}_${HHMMSS}/ 在每个exec文件夹中,有几个文件,如CSV、HTML报告、图表等。结构总是相同的,为了简单起见,我们不使用数据库 现在我想使用Django构建一个简单的网站来显示这些测试结果。想想一个报告网站,它有一些基本功能,比如相互比较测试执行情况 通过阅读,我了解到在Django应用程序中,我应该在models.py中使用扩展Django.db.

我们有一个测试工具,它按照如下目录结构生成测试结果:

test-results/${TEST-ID}/exec_${YYYYMMDD}_${HHMMSS}/
在每个exec文件夹中,有几个文件,如CSV、HTML报告、图表等。结构总是相同的,为了简单起见,我们不使用数据库

现在我想使用Django构建一个简单的网站来显示这些测试结果。想想一个报告网站,它有一些基本功能,比如相互比较测试执行情况

通过阅读,我了解到在Django应用程序中,我应该在
models.py
中使用扩展
Django.db.models.Model
的类定义我的数据,然后使用API(例如
object.save()
object.delete()
等),同时框架负责数据库操作

我的数据是一组测试结果,它们存在于文件系统中,而不是数据库中

也就是说,我希望将数据抽象保留在
models.py
中(即保留MVC抽象)。Django应用程序只需要读取数据,例如:

  • TestResult.objects.all()
    将从
    TestResults
    目录加载所有测试结果

  • TestResult.objects.filter(test\u id=1)
    将返回test-id 1的所有测试结果

  • 等等

不需要更新数据;该应用程序仅从文件系统读取数据并显示

我可以使用Django实现这种行为吗


我目前的假设是,我必须在某个地方编写抽象层(扩展
模型
类并覆盖某些方法?),但我不确定这是最佳/正确的方法。

django支持多个数据库后端,也许您可以看看它们是如何实现的,并将它们所做的扩展到您自己的文件系统后端。我相信,将CSV导入一个简单的数据库(如SQLite)会更简单、更快、更好。这样你就不必花时间重新发明Django的ORM,唯一的缺点就是数据的重复。