Ist es möglich, separate SQLite -Datenbanken innerhalb desselben Django -Projekts zu haben?

StackOverflow https://stackoverflow.com/questions/168218

  •  03-07-2019
  •  | 
  •  

Frage

Ich habe darüber nachgedacht, eine separate SQLite -Datenbank für bestimmte Apps in einem Django -Projekt zu erstellen.
Ich wollte jedoch nach Möglichkeit keinen direkten SQLite -Zugriff verwenden. Der ORM-Zugriff auf diese Datenbank im Django-Stil wäre ideal.
Ist das möglich?

Vielen Dank.

War es hilfreich?

Andere Tipps

Ja-die API auf niedriger Ebene dafür ist vorhanden. Im Moment fehlt nur eine bequeme API auf hoher Ebene. Diese Zitate stammen von James Bennett (Djangos Release -Manager) über das Programmieren Reddit:

Es ist seit Monaten (jeder QuerySet wird durch a unterstützt Query, was wiederum eine DB -Verbindung als Argument akzeptiert). Es gibt keine hochrangige dokumentierte API dafür, aber ich kenne Leute, die bereits Dinge wie mehrere DB/Sharding-Szenarien gemacht haben.

... Es ist nicht unbedingt etwas, das einen großen Artikel braucht. das __init__() Methode von QuerySet Akzeptiert ein Keyword -Argument query, was eine Instanz von sein sollte django.db.models.sql.Query. Das __init__() Methode von Query, akzeptiert wiederum ein Keyword -Argument connection, was eine Instanz von (eine backend-spezifische Unterklasse für Ihre dB von) sein sollte django.db.backends.BaseDatabaseWrapper.

Von dort aus ist es ziemlich einfach; Sie könnten zum Beispiel außer Kraft setzen get_query_set() auf einem Manager, immer eine zurückzugeben a QuerySet Verwenden der gewünschten Verbindung oder Einrichten von Dingen wie Sharding Logic, um herauszufinden, welches DB basierend auf eingehenden Abfrageparametern usw. usw. verwendet werden soll.

Derzeit nein - jedes Projekt verwendet eine Datenbank, und es muss jede App darin bestehen. Wenn Sie eine App-spezifische Datenbank haben möchten, können Sie dies nicht über den Django Orm tun. Siehe die Seite Django Wiki auf Mehrfach Datenbankunterstützung.

Das ist noch nicht möglich, aber es gibt einige Reden davon auf dem Wiki, Mehrfach Datenbankunterstützung in Django. Es wurde auch während der erzogen Keynote über die Zukunft von Django bei Djangocon 2008 und machte eines der Probleme mit höherer Priorität.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top