Passe eine bestehende Datenbank an eine Django-App an

8

Ich habe eine Postgresql-Datenbank mit Daten. Ich möchte eine Django-App mit dieser Datenbank erstellen.

Wie kann ich die Tabellen in Django-Modelle und / oder Ansichten importieren?

    
Daniel Garcia 29.10.2009, 21:49
quelle

2 Antworten

16

Es gibt ein Dienstprogramm namens manage.py inspectdb , mit dem Sie Modelle aus Ihrer vorhandenen Datenbank generieren können. Es funktioniert ziemlich gut.

%Vor%     
Fred Larson 29.10.2009 21:51
quelle
3

Wenn Ihre Datenbank nicht sehr einfach ist - oder sehr gut gestaltet ist -, wird sie schlecht zu Django passen.

Während das Reverse Engineering gut funktioniert, könnten Sie feststellen, dass das ursprüngliche Datenbankdesign dies war fehlerhaft und Sie haben viele ungeschickte Workarounds.

Die Frage ist eine "Legacy-Software", die mit dem alten Datenmodell arbeitet.

Ich würde vorschlagen, dass Sie Folgendes tun.

  1. Entwerfen Sie das richtige Datenmodell mit Django.

  2. Ordnen Sie das richtige Modell dem zu, was Sie haben.

  3. Schreiben Sie ein Konvertierungsscript, das einfaches, direktes SQL und das Django-ORM verwendet, um Daten von Nicht-Django-freundlich zu einem besseren Modell zu migrieren.

    • Wenn Sie Legacy-Software haben, müssen Sie einen geeigneten Zeitplan für die Datenverschiebung ausarbeiten.

    • Wenn Sie keine Legacy-Software haben, führen Sie diese Konvertierung einmal aus.

S.Lott 29.10.2009 22:42
quelle