gpt4 book ai didi

Django 多个数据库 : choose db where syncdb creates tables

转载 作者:行者123 更新时间:2023-12-02 00:06:11 27 4
gpt4 key购买 nike

我的代码可以访问 3 个数据库。 syncdb 必须在两个数据库中创建所有模型表。我不确定该怎么做。以下不起作用。

DATABASES = {
'default': {}, # empty. default is required
'db_1': { # want tables created in this
...
},
'db_2': { # want tables created in this
...
},
'other': { # do NOT want tables created in this
...
},
}

路由器:(一个单独的路由器处理授权表)

import random
class OtherRouter(object):
def db_for_read(self, model, **hints):
return random.choice(['db_1', 'db_2'])

def db_for_write(self, model, **hints):
return "db_1"

def allow_relation(self, obj1, obj2, **hints):
return True

def allow_syncdb(self, db, model):
db_list = ('db_1', 'db_2')
if db in db_list:
return True
return None

最佳答案

明白了。 Syncdb 必须使用 db 参数运行。此外,在其他情况下,也许(不确定是否重要)allow_syncdb 应该返回 False,而不是 None。

syncdb --database='db_1'
syncdb --database='db_1'

关于Django 多个数据库 : choose db where syncdb creates tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18298728/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com