Unterstützung für mehrere Datenbanken in django
Aus irgendeinem forum habe ich erfahren, dass Mehrere Datenbank-Unterstützung Hinzugefügt in Django auf dem niedrigeren Niveau, aber der höhere level-apis sind nicht noch hinzu.
Kann jemand mir bitte sagen, wie kann man erreichen, mehrere Datenbank-verbindungen in Django.
Hat jemand eine Idee, wenn Django wird voll/offiziell die Unterstützung für Mehrere Datenbank-verbindungen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie einfach mehrere verbindungen, die Sie tun können, so etwas wie dieses:
Diese werden in Django 1.2.
Sehen http://docs.djangoproject.com/en/dev/topics/db/multi-db/
Die jüngste Diskussion, die ich gesehen habe, war in der Vorschlag: benutzerfreundliche API für multi-Datenbank-Unterstützung django-Entwickler-thread, der hat auch ein Beispiel für eine Möglichkeit, um mehrere Datenbanken zu verwenden mit Managern in der ursprünglichen Nachricht.
Wenn Sie Lesen Sie ein paar der vielen (viele) threads zu diesem Thema in django-dev, werden Sie sehen, dass das, was sieht einfach ist das nicht. Wenn Sie wählen Sie eine einzelne use-case -, dann sieht es leicht, aber sobald man anfängt zu verallgemeinern, die in irgendeiner Weise, die Sie beginnen zu laufen, in Schwierigkeiten zu geraten.
Verwendung der oben erwähnten thread als Beispiel, wenn Sie sagen, "mehrere Datenbanken", welche der folgenden redest du?
Benötigen Sie:
Eines der Probleme mit einem glatten ORM wie Django ' s ist, dass es versteckt alle diese chaotisch details, die unter einer schönen Lackierung. Weiterhin machen, aber dann fügen Sie in einer der oben genannten, ist Nicht so Einfach (tm).
Eric Florenzano schrieb einen sehr interessanten blog-post, die Ihnen erlaubt einige Unterstützung für mehrere Datenbanken an: Einfach MultipleDatabase Unterstützung für Django.
Es beginnt mit dem erstellen einer neuen benutzerdefinierten manager, die Ihnen erlaubt, geben Sie die Datenbank-Einstellungen.
Es ist eine "Verwendung" Richtlinie für Abfragen,speichert und löscht
https://docs.djangoproject.com/en/dev/topics/db/multi-db/#manually-selecting-a-database
Mehrere Datenbank-wählen Sie aus
Benötigen wir immer eine namens default, die Namen, der rest sind bis zu Ihnen.
für die Synchronisation zu einer bestimmten Datenbank
Ich denke, dass Sie zu greifen, um "rohe " sql" .. ein bisschen was ..
schau mal hier: http://docs.djangoproject.com/en/dev/topics/db/sql/
müssen Sie eine "Verbindung" zu Ihren anderen Datenbank,
wenn man sich
django/db/__init__.py
um die Zeile 39 (bei meiner version ..)connection = backend.DatabaseWrapper(**settings.DATABASE_OPTIONS)
versuchen, es von dort zu nehmen ..
P. S. ich habe nicht wirklich versucht, dies oder nichts .. nur darauf, in die Allgemeine Richtung von dem, was ich denke könnte dein problem lösen.
Eric Florenzano Ansatz funktioniert gut, wenn Sie alle Ihre Datenbanken mit dem gleichen Motor. Wenn du unterschiedliche Motoren (Postgres und MSSQL in meinem Fall) führen zu vielen Fragen, die tief in den ORM-code (wie models/sql/where.py die Verwendung der Standard-Verbindung-SQL-syntax).
Wenn Sie dies brauchen, um zu arbeiten, Sie sollten warten, bis Alex Gaynor ' s MultiDB-Projekt geplant ist für Django 1.2
Von Django 1.2 unterstützt mehrere Datenbanken. Siehe: http://docs.djangoproject.com/en/dev/topics/db/multi-db/
Die Version 1.2 ist jetzt in der beta