• <small id='MJDaO'></small><noframes id='MJDaO'>

        <bdo id='MJDaO'></bdo><ul id='MJDaO'></ul>
        <i id='MJDaO'><tr id='MJDaO'><dt id='MJDaO'><q id='MJDaO'><span id='MJDaO'><b id='MJDaO'><form id='MJDaO'><ins id='MJDaO'></ins><ul id='MJDaO'></ul><sub id='MJDaO'></sub></form><legend id='MJDaO'></legend><bdo id='MJDaO'><pre id='MJDaO'><center id='MJDaO'></center></pre></bdo></b><th id='MJDaO'></th></span></q></dt></tr></i><div id='MJDaO'><tfoot id='MJDaO'></tfoot><dl id='MJDaO'><fieldset id='MJDaO'></fieldset></dl></div>

        <tfoot id='MJDaO'></tfoot><legend id='MJDaO'><style id='MJDaO'><dir id='MJDaO'><q id='MJDaO'></q></dir></style></legend>

        如何在不同的数据库中使用带有外键的 django 模型?

        How to use django models with foreign keys in different DBs?(如何在不同的数据库中使用带有外键的 django 模型?)
        <tfoot id='wU11E'></tfoot>

          <bdo id='wU11E'></bdo><ul id='wU11E'></ul>
        • <i id='wU11E'><tr id='wU11E'><dt id='wU11E'><q id='wU11E'><span id='wU11E'><b id='wU11E'><form id='wU11E'><ins id='wU11E'></ins><ul id='wU11E'></ul><sub id='wU11E'></sub></form><legend id='wU11E'></legend><bdo id='wU11E'><pre id='wU11E'><center id='wU11E'></center></pre></bdo></b><th id='wU11E'></th></span></q></dt></tr></i><div id='wU11E'><tfoot id='wU11E'></tfoot><dl id='wU11E'><fieldset id='wU11E'></fieldset></dl></div>

                  <tbody id='wU11E'></tbody>
              1. <small id='wU11E'></small><noframes id='wU11E'>

                • <legend id='wU11E'><style id='wU11E'><dir id='wU11E'><q id='wU11E'></q></dir></style></legend>
                • 本文介绍了如何在不同的数据库中使用带有外键的 django 模型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有 2 个模型用于 2 个不同的数据库:
                  数据库是手动创建的,但它应该没有任何改变.

                  I have 2 models for 2 different databases:
                  Databases were created manually but it should change nothing.

                  class LinkModel(models.Model): # in 'urls' database
                      id = models.AutoField(primary_key=True)
                      host_id = models.IntegerField()
                      path = models.CharField(max_length=255)
                  
                      class Meta:
                          db_table = 'links'
                          app_label = 'testapp'
                  
                      def __unicode__(self):
                          return self.path
                  
                  class NewsModel(models.Model):  # in default database
                      id = models.AutoField(primary_key=True)
                      title = models.CharField(max_length=50)
                      link = models.ForeignKey(LinkModel)
                  
                      class Meta:
                          db_table = 'news'
                          app_label = 'test'
                  
                      def __unicode__(self):
                          return self.title
                  

                  在以下代码之后出现错误

                  After the following code an error raises

                  newsItem, created = NewsModel.objects.get_or_create( title="test" )
                  link = LinkModel.objects.using('urls').get( id=1 )
                  newsItem.link = link  # error!
                  
                   Cannot assign "<LinkModel: />": instance is on database "default", value is on database "urls"
                  

                  为什么我不能为不同的数据库使用外键和模型?

                  Why can't I use foreign key and a model for different database?

                  推荐答案

                  跨数据库限制

                  Django 目前不支持跨多个数据库的外键或多对多关系.如果您使用路由器将模型分区到不同的数据库,则这些模型定义的任何外键和多对多关系都必须在单个数据库内部.

                  Cross-database limitations

                  Django doesn't currently provide any support for foreign key or many-to-many relationships spanning multiple databases. If you have used a router to partition models to different databases, any foreign key and many-to-many relationships defined by those models must be internal to a single database.

                  Django - limits-of-multiple-databases

                  同样的麻烦.ForeignKey() 类中的错误.

                  Same trouble. Bug in ForeignKey() class.

                  在 validate() 方法中.

                  In validate() method.

                  看票

                  Bug 存在于 v1.2、v1.3、v1.4rc1

                  Bug exists in v1.2, v1.3, v1.4rc1

                  尝试这个补丁来解决.

                  这篇关于如何在不同的数据库中使用带有外键的 django 模型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to update a record using sequelize for node?(如何使用节点的 sequelize 更新记录?)
                  How to provide a mysql database connection in single file in nodejs(如何在 nodejs 中的单个文件中提供 mysql 数据库连接)
                  Looping Over Result Sets in MySQL(在 MySQL 中循环结果集)
                  What is an efficient way of inserting thousands of records into an SQLite table using Django?(使用 Django 将数千条记录插入到 SQLite 表中的有效方法是什么?)
                  Prevent Django SQLite db from being overwritten while pushing to Heroku(防止 Django SQLite 数据库在推送到 Heroku 时被覆盖)
                  Writing an SQL query to SELECT item from the following table(编写 SQL 查询以从下表中选择项目)
                  <i id='KgciU'><tr id='KgciU'><dt id='KgciU'><q id='KgciU'><span id='KgciU'><b id='KgciU'><form id='KgciU'><ins id='KgciU'></ins><ul id='KgciU'></ul><sub id='KgciU'></sub></form><legend id='KgciU'></legend><bdo id='KgciU'><pre id='KgciU'><center id='KgciU'></center></pre></bdo></b><th id='KgciU'></th></span></q></dt></tr></i><div id='KgciU'><tfoot id='KgciU'></tfoot><dl id='KgciU'><fieldset id='KgciU'></fieldset></dl></div>

                    <bdo id='KgciU'></bdo><ul id='KgciU'></ul>
                  • <tfoot id='KgciU'></tfoot>

                      <tbody id='KgciU'></tbody>
                      • <legend id='KgciU'><style id='KgciU'><dir id='KgciU'><q id='KgciU'></q></dir></style></legend>
                        1. <small id='KgciU'></small><noframes id='KgciU'>