[PYTHON] Graphen-Memo

Es wird nicht von "Graphen" selbst vervollständigt, aber tatsächlich sind Bibliotheken wie "Graphql-Core" und "Graphql-Relay" unter "Graphen" versteckt. GraphQL ist eine Portierung von graphql-core, da es seit seiner Einführung in der JavaScript-Umgebung beliebt ist. Die Kernbibliothek "graphql" ist in Bezug auf Python einfacher zu verwenden und wird als "Graphen" bezeichnet. Wenn Sie denken, dass "Graphen" -Dokument nicht genügend Beschreibung enthält, ist dies tatsächlich der Erklärungsteil der unteren Bibliothek. Die Antwort finden Sie schließlich unter Referenzimplementierung.

Das Graphenfelddefinitionsverfahren lässt sich leicht mit Mixin hinzufügen. Der Mixin-Stil wird empfohlen, da er bei der Verwendung der Klassenvererbung eine Gefahr darstellen kann.

graphene.relay: Das Relais selbst ist eine zusätzliche Spezifikation, die auf GraphQL basiert. Da es weit verbreitet ist, ist es weniger verwirrend, grundsätzlich damit umzugehen. Die Schnittstellen Connection und Node fallen auf.

Node interface In "Knoten" kann ein einzelnes Objekt über eine Knotenabfrage aus "ID" gezogen werden. Da es standardmäßig nicht sichtbar ist, Nach Bedarf vorbereiten. Wenn ein solcher Zugriffspfad nicht wünschenswert ist (z. B. aus Sicherheitsgründen), kann die Implementierung weggelassen werden.

Sie können mit graphene.Node importieren, ohne mit graphene.relay.Node zuzugreifen.

Connection interface Total_count of Connection wird von der Bibliothek nicht unterstützt. Wenn Sie sich separat darum kümmern, gibt es weniger Probleme. Beispielsweise muss die Graphen-Sqlalchemie möglicherweise vom Abfrageobjekt abgeleitet werden, sodass davon ausgegangen wird, dass sie absichtlich isoliert ist.

https://github.com/graphql-python/graphene/issues/776 https://github.com/graphql-python/graphene-django/issues/162

Mit der Unterstützung von "Relay.Connection" sollen die Metadaten auf der Seite "Relay.Node" deklarieren, dass sie "Node" -Schnittstellen unterstützen. Wenn Sie in graphene_sqlalchemy.SQLAlchemyConnection eineNode-Schnittstellendeklaration einfügen, führt dies zu einer doppelten Definition. Machen Sie es also gut (derzeit scheint es gut, mit einer hackartigen Antwort zu überleben).

Sie können aus der Deklarationsreihenfolge-Falle herauskommen, indem Sie das erste Argument von ConnectionField mit Lambda verzögern :.

Recommended Posts

Graphen-Memo
gzip memo
Himbeer-Pi-Memo
Pandas Memo
HackerRank-Memo
Python-Memo
Python-Memo
Kolben Memo
pyenv memo
Matplotlib-Memo
pytest memo
sed memo
Python-Memo
Installieren Sie Memo
BeautifulSoup4 Memo
networkx memo
Python-Memo
Kater Memo
Befehlsnotiz
Generator Memo.
psycopg2 memo
Python-Memo
SSH-Memo
Notiz: rtl8812
Pandas Memo
Shell Memo
Python-Memo
Pycharm-Memo
AtCoder Andachtsnotiz (11/12)
[OpenCV] Persönliches Memo
PyPI-Push-Memo
Tensorflow-GPU Einführungsnotiz
LPIC201 Studiennotiz
Jupyter Notizbuch Memo
LPIC304 Virtualisierungsnotiz
ALDA-Ausführungsnotiz
Python-Anfänger-Memo (9.2-10)
youtube download memo
Inu x Memo
Django Lernnotiz
ARC # 016 Teilnahmememo
Schöne Suppe Memo
LPIC101 Studiennotiz
Python-Anfänger-Memo (9.1)
Linux (Ubuntu) Memo
scp befehlsnotiz
Kolbengrundierung Memo
Sellerie / Kombu Memo
Wer befiehlt Memo
Django Tutorial Memo
Flask Grundnotiz
Linux # Command Memo 1
★ Memo ★ Python Iroha
Memo zur Geschlechtserkennung
Bildlesememo
[MEMO] [TERMINAL] Alacritty
Notiz der 3D-Rotation (1)
[Python] EDA-Memo