注意:我已经浏览了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。
感谢您的时间。
我之前计划使用的策略似乎有点矫枉过正。所以,我决定采用不同的策略。然而,它似乎让我中途,但我预见它会导致干。
解决方案是让两个站点上的REST-API以json格式返回数据。
即调用站点A的API,加载返回的数据并在站点B中处理它。