Django - 为什么syncdb不尊重数据库路由器?

2024-04-07

我已经设置了一个数据库路由器,使用以下命令将不同的应用程序和不同的模型定向到不同的数据库db_for_read and db_for_write路由器方法。

这非常有效,除了./manage.py syncdb不尊重这些路由器设置。

When I syncdb我的模型,它们都是在默认数据库中创建的。

数据库路由器仅提供allow_syncdb方法,但是没有sync_to方法。有没有办法告诉syncdb命令在哪里创建新表?

Note:我无法使用--database功能,因为有时某些模型应用程序会转到与应用程序其余部分不同的数据库。


当你编写路由器时,请确保你已经编写了allow_syncdb()方法。它需要数据库和模型。当你跑步时manage.py syncdb你本质上是在设置--database=default。如果您不希望模型同步到默认数据库,那么您的allow_syncdb()方法应该在以下条件下返回False:db==default and model._meta.app_label==myapp.

您需要使用以下命令运行syncdb--database=your_other_db获得的选项myapp进入该数据库。但请确保在这种情况下,allow_syncdb() 仅在以下情况下返回 Truedb==your_other_db and model._meta.app_label==myapp.

那有意义吗?基本上你必须运行manage.py syncdb方法两次,每个数据库一次。您不能仅运行一次并让它更新两个数据库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django - 为什么syncdb不尊重数据库路由器? 的相关文章

随机推荐

  • UIButton 状态的键值观察

    UIButton 有一个状态属性 所有帐户似乎都符合 KVO 并且没有文档表明其他情况 但是 当我将观察者添加到 UIButton 的状态属性时 观察者回调从未被调用 怎么会 如果你查看 UIControl 的文档 state 属性被标记为
  • CSS 无法在生产中加载 - 开发中一切正常(Rails 4.1、Capistrano 3;bootstrap),更新:nginx 配置问题

    问题如下 在开发中一切正常 但是当我将 Rails 应用程序部署到生产环境时 该网站以纯 html 格式运行 但 CSS 引导程序 未加载 JS 可能也未加载 抱歉 我花了 2 天时间寻找了大约 15 种可能的解决方案 但无法使其发挥作用
  • 在 Visual Studio 外部启动时程序运行速度较慢

    我注意到我的程序有一些奇怪的行为 我使用 Visual Studio Professional 2013 Update 1 用 C 编写它 它由一个 exe 应用程序组成 该应用程序链接多个 DLL 并调用这些 DLL 中定义的函数 在我的
  • 如何在 MySQL 中造成死锁以进行测试

    我想让我的 Python 库与 MySQLdb 一起使用 能够检测死锁并重试 我相信我已经编写了一个很好的解决方案 现在我想测试它 对于我可以使用 MySQLdb 运行来创建死锁条件的最简单查询 有什么想法吗 系统信息 MySQL 5 0
  • Ruby 中“触发器已弃用”警告的解决方法

    我从 shell 脚本中调用 Ruby 如下所示 ruby n e print if r fromre r tore 从 Ruby 2 6 开始 我收到警告 警告 触发器已被弃用 所以看来我必须做好准备 明智的 Ruby 大祭司已经决定这个
  • 跳过第一个元素之后的所有其他元素[重复]

    这个问题在这里已经有答案了 我知道如何在 Java 中做到这一点 但我正在学习 Python 不知道如何做到这一点 我需要实现一个函数 该函数返回一个列表 其中包含列表中的所有其他元素 从第一个元素开始 到目前为止 我不确定如何从这里开始
  • 为什么 C++ 中的字符数组接受非 ASCII 字符?

    所以 我希望能够在我的 C 程序中使用中文字符 并且我需要使用某种类型来保存超出 ASCII 范围的此类字符 但是 我尝试运行以下代码 并且它有效 include
  • Perl:查找数组的特定元素是否是单词或句子

    我有一个包含文本文件的数组 那么如何使用 perl 查找仅包含一个单词的数组元素 假设文件内容存储在 lines my words grep S lines Note 别忘了chomp lines 在进行任何进一步处理之前
  • CSS强制浏览器显示滚动条

    我编写了一个 Web 应用程序 发现当我调整页面大小时 浏览器不会随着窗口缩小而显示它自己的滚动条 这会阻止用户访问内容 我已将正文宽度设置为 500px 并将导航栏设置为white space nowrap 如何让浏览器识别出屏幕右侧有内
  • Android 中片段中按钮的按钮侦听器

    我是 Android 新手 正在尝试自学 但我在 Fragments 方面遇到了困难 我正在创建一个简单的应用程序来学习片段 我认为这可能看起来很愚蠢 但我真的无法让它发挥作用 我想做的就是单击 Fragment One 中的按钮 butt
  • 如何从 &Vec 或 Vec<&T> 创建 &T 的迭代器?

    我有一个有两个变体的枚举 它要么包含对Vec of Strings 或者它包含一个Vec的参考文献Strings enum Foo lt a gt Owned a Vec
  • 在 Android 上用 Java 获取 SQLite SUM

    我是 SQLite 和 Java 的新手 我正在尝试即时学习 我有一列包含一些数值 我想获取它的总和并将其显示在文本视图中 我当前的代码是这样的 public Cursor getTotal return sqliteDatabase2 r
  • 如何根据 DataAnnotation 中的另一个属性验证一个属性

    考虑我有这两个属性 public class Test Required ErrorMessage Please Enetr Age public System Int32 Age get set Required ErrorMessage
  • 在大型 PR 堆栈中深度重命名变量

    我有一个包含 100 次提交的 PR 它将作为许多较小的 PR 提交 在 PR 堆栈的底部 我选择了一个现在觉得很奇怪的变量名称 并且希望在每次提交期间更改它 但不想在各处繁琐地解决合并冲突 有没有办法自动执行此操作 使用一些 cli 命令
  • 调整生成的相机流的大小

    我试图让用户捕获图像并使用图像将其添加到屏幕上 然而 由于内存限制 我还需要将此图像的大小调整为大约一半大小 12x 5MP 图像在手机上永远不会很好 我正在正常启动相机任务 它调用 Completed 事件 但是 当我尝试使用 Decod
  • Highcharts - 有关完整图表宽度的问题

    我正在使用 Highcharts 柱形图 我希望它是 100 宽度响应式图表 容器很简单 div 没有任何格式 当文档加载时 图表始终是固定宽度 600x400px 大小 如果我调整窗口大小或切换到另一个浏览器选项卡 图表将填充宽度并变成响
  • 将 >100K 页面链接在一起而不会受到 SEO 惩罚

    我正在创建一个网站 该网站将审查互联网上数十万个其他网站的隐私政策 它的最初内容是基于我的运行普通爬行 http commoncrawl org 50 亿页网络转储和分析所有隐私政策 https stackoverflow com ques
  • 如何使用 Retrofit 和 RxJava/RxAndroid 处理响应错误?

    我无法弄清楚如何使用改造和 RxAndroid 处理响应错误 如果存在网络错误等 则会调用 onError 但我需要能够获取响应以检查是否存在身份验证错误 相反 我得到的是一个带有空字符串的令牌 但我找不到原因 解决这个问题的最佳方法是什么
  • 如何修复滚动

    我在将工具提示定位在表内的数据列上时遇到一些问题 该表本身位于垂直滚动 div 内 为您提供一点背景 由于我无法控制的遗留问题 我正在开发的页面必须通过固定宽度和高度的 iframe 来显示 我需要显示的数据大约有12列 需要全部显示 一列
  • Django - 为什么syncdb不尊重数据库路由器?

    我已经设置了一个数据库路由器 使用以下命令将不同的应用程序和不同的模型定向到不同的数据库db for read and db for write路由器方法 这非常有效 除了 manage py syncdb不尊重这些路由器设置 When I