在我尝试从Django 1.2升级到1.6的某些代码中,“仪表板”和“模块”之间存在ManyToMany
关系。我在视图中有一个部分在1.2中工作,但在1.6中没有用,我在删除“模块”,但首先尝试clear()
它与“仪表板”的关系。
module = PortalAnalyticsTimeCountsModule.objects.using( DASHBOARD_DATABASE ).get( id = module_id )
module.dashboards.clear()
PortalAnalyticsTimeCountsModule.objects.using( DASHBOARD_DATABASE ).get( id = module_id ).delete( using = DASHBOARD_DATABASE )
其中DASHBOARD_DATABASE
只是一个字符串,我在文件的开头设置为全局值,该行是这些行应该在这些行中使用的数据库的名称。请注意,DASHBOARD_DATABASE
不是default
文件中此django项目集的settings.py
数据库,这就是我使用using
手动设置数据库的原因。
在django 1.2中,这很好用。在django 1.6中,clear()
命令给我一个错误,因为它使用default
数据库而不是它应该使用的数据库。我找不到手动强制中间clear()
行使用正确数据库的方法。
有人知道如何(没有引用ROUTERS
的使用)?
答案 0 :(得分:0)
嗯,显然解决方案就是删除
module.dashboards.clear()
完全。似乎没有必要删除连接。