Ich muss eine API in Django erstellen, aber leider muss die Kommunikation auf protobuf basieren.
Was mich am meisten beunruhigt, sind ziemlich komplizierte Datenmodelle. Wenn ich mich nicht irre, müssen die Definitionen in models.py in .proto-Dateien dupliziert werden, und die Bearbeitung von Anfragen erfordert viele "Konvertierungen" zwischen Django-ORM und Proto-Nachrichten. Entwickeln und Verwalten kann sehr unangenehm sein - kleinere Änderungen an Modellen erfordern die Bearbeitung von .proto und Anfragen.
Ich träume also von einem Rahmen, der die Magie im Hintergrund alleine macht. Es könnte übermäßige Menge von Methoden geben, aber sein größter Vorteil wäre die Automatisierung f. Erstellen von .proto-Definitionen basierend auf models.py
Unglücklicherweise haben drei Tage der Suche nach einer Lösung nicht die erwarteten Ergebnisse gebracht. Also muss ich einen Notfallplan erstellen.
Zuerst habe ich über den Djangokolben und seine Emitter nachgedacht, aber das Projekt ist aufgegeben. Also vielleicht Tastypie und seine Serialisierung? Aber ich bin mir nicht sicher, ob ich es für Protobuf allein bewältigen kann. Ich werde einige Experimente mit dem cprotobuf-Paket machen, aber alle Hinweise und Lösungen werden sehr geschätzt.
Sind Tastypie und cprotobuf die einfachste Lösung oder gibt es vielleicht Helfer, die mir Mühe und Nerven ersparen?
Tags und Links python django api serialization protocol-buffers