Python 多数据库创建和迁移不起作用
而不是接触模型Python 多数据库创建和迁移不起作用,python,django,Python,Django,而不是接触模型 DATABASE_ROUTERS = ['contact.models.DemoRouter'] DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'bsdsample5', 'USER': 'postgres', 'PASSWORD'
DATABASE_ROUTERS = ['contact.models.DemoRouter']
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'bsdsample5',
'USER': 'postgres',
'PASSWORD': 'absd',
'HOST': 'localhost',
'PORT': '',
},
'bsdsample4': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'bsdsample4',
'USER': 'postgres',
'PASSWORD': 'bsd',
'HOST': 'localhost',
'PORT': '',
}
}
因此,我正在尝试迁移和进行迁移,不幸的是,这会随机抽取数据库中的表,并将其迁移到bsdsample4。除了我真正想要的,SPAMExternalquiry。
我只希望SPAMExternalquiry位于bsdsample4中。我的所有其他数据库表都希望保持默认状态
Django版本2.2和python版本3
class SpamExternalInquiry(models.Model):
first_name = models.CharField(max_length=40)
last_name = models.CharField(max_length=40)
email = models.CharField(max_length=256)
date_sent = models.DateTimeField(default=timezone.now)
subject = models.CharField(max_length = 200)
message = models.TextField(max_length = 2000)
spam_score = models.IntegerField()
class Meta:
app_label = 'bsdsample4'
def __str__(self):
return self.email + ' - ' + self.subject + ' - ' + str(self.date_sent)
def initialize(self, extInquiry):
self.first_name = extInquiry.first_name
self.last_name = extInquiry.last_name
self.email = extInquiry.email
self.date_sent = extInquiry.date_sent
self.subject = extInquiry.subject
self.message = extInquiry.message
class DemoRouter:
def db_for_read(self, model, **hints):
if model._meta.app_label == 'bsdsample4':
return 'bsdsample4'
return None
def db_for_write(self, model, **hints):
if model._meta.app_label == 'bsdsample4':
return 'bsdsample4'
return None
def allow_relation(self, obj1, obj2, **hints):
if obj1._meta.app_label == 'bsdsample4' or \
obj2._meta.app_label == 'bsdsample4':
return True
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
if app_label == 'bsdsample4':
return db == 'bsdsample4'
return None