2017-08-13 1 views
1

Ich arbeite an meinem ersten django-viewflow Projekt, und ich habe einige sehr grundlegende Fragen. Ich habe mir die Dokumente und die Kochbuchbeispiele angeschaut.Anfänger Fragen über django-viewflow

Meine Frage ist, welche Felder in die "normalen" Django-Modelle (models.Model) und welche Felder in die Process-Modelle gehen? Ich erstelle beispielsweise ein Veröffentlichungsmodell, sodass ein hochgeladenes Dokument in einem privaten Status beginnt und nach einer Verarbeitung in den Status "Ausstehend" wechselt. Anschließend kann ein Editor den zu veröffentlichenden Dokumentstatus aktualisieren, und das Dokument ist verfügbar die Vorderseite der Website. Ich würde annehmen, dass das Statusfeld (privat, ausstehend, veröffentlichen) Teil eines Prozessmodells ist, aber was ist mit den anderen mit dem Dokument verbundenen Feldern (Autor, Datum, Quelle, Thema usw.)? Gehen sie in das Prozessmodell oder das models.Model-Modell? Ist es wichtig? Was sind die Überlegungen bei der Erstellung der Modelle und Flüsse für die Trennung von Daten zwischen den beiden Arten von Modellen?

Ein anderes Beispiel - warum im Hello World-Beispiel ist das Textfeld im Prozessmodell und kein Modell.Modellmodell? Dieses Feld scheint nichts mit dem Prozess zu tun zu haben, aber ich verstehe wahrscheinlich nicht, wie Viewflow funktioniert.

Danke!

Mark

Antwort

0

Das ist Ihre Wahl. Viewflow ist die Bibliothek und hat keine Einschränkungen für die Datenausrichtung. Die einzige Sache, die getan werden muss, ist die Verbindung zwischen process_pk und den Prozessdaten. HelloWord ist das minimale Arbeitsbeispiel, das einen Arbeitsablauf demonstriert.

Sie können alles in den separaten Modus versetzen und im Prozessmodell einen FK angeben.

Aber das Statusfeld selbst ist das Antipattern, da Sie eventuell mehrere Tasks parallel ausführen lassen können. Und auch der sequentielle Workflow konnte ständig geändert werden, neue Aufgaben konnten hinzugefügt oder gelöscht werden. Sie können nur das published Boole'sche oder DateTime-Feld im POST-Modell verwenden, um das am Frontend zu filtern.

Die allgemeine Regel könnte sein - halten alle Menschen Workflow-Entscheidungen im Prozessmodell und bauen alle Datenmodelle in einer deklarativen Weise halten separierten Workflow und Ist-Daten.

+0

Könnten Sie auch etwas Licht auf https://stackoverflow.com/questions/48780791/django-viewflows-defining-an-api-flow werfen – PythonEnthusiast