在我的网站上我有一个项目数据库,每个项目对应一台机器上的物理目录:
class Project(models.Model):
path = models.CharField()
在我的项目创建视图中,我执行以下操作:
Project.objects.create(path=p)
os.mkdir(p)
一些外部非django应用程序为每个项目创建一个 sqlite db ,每个项目具有相同的数据库结构({project1.path}/db.sqlite3
,{project2.path}/db.sqlite3
具有相同的表格。)
我想使用Django对象模型从这些数据库中读取(也许可以写)。
假设每个sqlite文件都包含一个包含2列cake
的表tastiness, price
。我想写一个
class Cake(models.Model):
tastiness = models.Charfield()
price = models.IntegerField()
然后,我不会进行任何迁移(表格只会匹配),我可以用以下内容读取数据库:
p = Project.objects.get(id=5)
L = Cake.objects.using(p.path + '/db.sqlite').filter(price__gt=10)
我已阅读文章on multiple db,但这似乎无法解决我的问题。
也许除了django之外的另一个包可以做到这一点?我知道我可以去生import sqlite3
但我不会受益于django ORM。