我有两个数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(ROOT_PATH, 'db', 'sqlite.db'),
},
'slave': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(ROOT_PATH, 'db', 'slave.db'),
}
}
我有 ManyToMany 字段的表:
from django.db import models
from django.contrib.auth.models import User
class Data(models.Model):
xml = models.TextField(max_length=90000)
users = models.ManyToManyField(User)
当我运行代码时:
for i in Data.objects.all():
i.save(using='slave')
'default' 数据库中的所有条目都出现在没有 ManyToMany 字段用户的 'slave' 中。如何将用户字段显式复制到“从”数据库?
编辑:
我尝试来自 Rohan 的建议:
for i in Data.objects.all():
back_i = i
# back_i.users.all().count() = 1
i.save(using='slave')
# back_i.users.all().count() = 0
for u in back_i.users.all():
i.users.add(u)
所以我认为解决方案很近,但不在这里