Ich verwende zwei MySQL-Schemas X und Y, beide enthält mehrere Tabellen, aber es gibt eine Tabelle, die in beiden Schemas den gleichen Namen hat.Wie zwei Tabellen mit demselben Namen in zwei verschiedenen Schema in mysql mit Django verwenden
Beide Schemata sind wie folgt:
+--------------+--+--------------+
| X | | Y |
+--------------+--+--------------+
| name | | album_info |
+--------------+--+--------------+
| invite | | photo_info |
+--------------+--+--------------+
| photo | | photo |
+--------------+--+--------------+
| user_details | | temp |
+--------------+--+--------------+
Jetzt will ich auf beiden Tabellen abfragen, aber wenn ich die Tabellenstruktur in models.py Datei mit dem gleichen Namen schreiben wirft es Fehler/Ausnahme. erklärte ich beide Tabelle in routers.py Datei wie folgt:
modelDatabaseMap = {
.
'photo': 'default',
.
.
.
'photo': 'y',
}
(X ist mein Standard-Schema). erklärt i models.py wie folgt:
class Photo(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
has_tagged_with = models.IntegerField()
has_reposted_with = models.IntegerField()
.
.
class Meta:
managed = False
db_table = 'photo'
class Photo(models.Model):
id = models.AutoField(db_column='ID', primary_key=True)
account_id = models.IntegerField()
p_id = models.IntegerField()
is_profile = models.IntegerField()
.
.
class Meta:
managed = False
db_table = 'photo'
Nun ist die Mehrdeutigkeit zuerst in Namen, in Erklärung in models.py und zweitens in Abfrage-. Ich bin fest, wie auf beide Tabellen getrennt durch orm abzufragen. Jede Hilfe/Führung dazu wäre hilfreich. Danke im Voraus.
Haben Sie eine Verbindung für jedes Schema? Wie ist Ihre 'DATABASES' Konfiguration? –
DATABASES Konfiguration ist wie folgt: 'DATABASES = { 'default': { 'Motor': 'django.contrib.gis.db.backends.mysql', 'NAME': 'X', 'User' : Datenbank-, 'Passwort': DATABASE_PASSWORD, 'HOST': DATABASE_HOST_NAME, 'PORT': '3306', 'OPTIONEN': { 'charset': 'utf8mb4'}, } } ' gleiche Art und Weise I das Schema Y in das Wörterbuch eingefügt. – Shrey
das ist der Punkt. Sie haben zwei Datenbankkonfigurationen? ein 'default' und anderes' y', zum Beispiel? –