Django多数据库支持

时间:2014-09-16 08:58:07

标签: python django multi-database

注意:我已经浏览了Django官方文档docs.djangoproject.com/en/dev/topics/db/multi-db,但页面上没有任何内容可以回答我的问题。

我已经带领团队开发了两个Django Web应用程序,我们已经达到了一个阶段,我们希望在每个站点之间建立功能。通过这样做,我们将坚持DRY原则。

案例研究

网站A有A +功能,我很乐意通过Django Queryset在网站B上提供,反之亦然。

到目前为止

我已在两个站点的settings.py文件中为数据库配置定义,在此帖子的帮助下为所有应用程序添加了通用路由器配置:http://diegobz.net/2011/02/10/django-database-router-using-settings/并且可以成功查询数据库中的A和B来自两个使用django.db导入连接的站点。但是,如下所示:

def dictfetchall(cursor):
    "Returns all rows from a cursor as a dict"
    desc = cursor.description
    return[
        dict(zip([col[0] for col in desc], row))
        for row in cursor.fetchall()
        ]

我得到了对象列表'数据而非Querysets。

问题

  1. 这是否可以立即解决上述问题?
  2. 有没有办法使用上述实现导入/返回Querysets / iterable Model对象?
  3. 那里有API可以处理Django多数据库连接吗?如果是,请提供链接?
  4. 感谢您的时间。

    我的解决方案(暂时)

    我之前计划使用的策略似乎有点矫枉过正。所以,我决定采用不同的策略。然而,它似乎让我中途,但我预见它会导致干。

    解决方案是让两个站点上的REST-API以json格式返回数据。

    即调用站点A的API,加载返回的数据并在站点B中处理它。

0 个答案:

没有答案