Verschachtelte URL-Muster im Django-REST-Framework

8

Ich versuche, über die anfänglichen flachen URL-Muster von Django REST Frameworks hinauszugehen. Wenn ich zum Beispiel Objekttypen "Elternobjekt" und "Kindobjekt" habe, bei denen Elternobjekt HAS-Kindobjekte hat, dann lautet die Standard-REST-Datei wie folgt:

%Vor%

Innerhalb der Elternobjekt-Antworten gibt es Verweise auf die Kindobjekt-ID.

%Vor%

Wenn Sie Details zum childobject (oder zu allen childobjects in der db) wollen, können Sie auf das childobject api verweisen.

%Vor%

Auf der gleichen Seite noch? :)

Was ich tun möchte, ist eine generische / erweiterbare Möglichkeit zu schaffen, auf Kind-m2m-Beziehungen über das Elternobjekt api zu verweisen, ohne ids ziehen zu müssen, und dann das Kindobjekt api erneut abzufragen.

%Vor%

Also wäre das obige childobject (s) basierend auf der Referenz des Elternobjekts in der Tabelle m2m through, die von Django verwaltet wird, gefiltert.

Die Idee ist auch, dass dies so generisch wäre, dass ich eine neue durchgehende Beziehung definieren könnte und diese Fähigkeit mit minimaler Arbeit hätte. z.B. Die URL-Muster würden automatisch usw. aussehen.

Außerdem werden alle absteigenden Beziehungen auf die gleiche Weise behandelt. So dass "Someotherchildobject" unten die Liste vonotherotherchildobject (s) zurückgibt, die dem childobject "123" zugeordnet werden, die auf Elternobjekt "1" zugeordnet werden.

%Vor%

Wenn das nicht klar genug ist, lassen Sie es mich wissen. Mein Erfolg war bisher begrenzt. Ich möchte Django REST nicht ändern, um dies zu erreichen, und gleichzeitig möchte ich die URL-Muster nicht "manuell" konstruieren, indem ich die spezifischen, an denen ich interessiert bin, in die URL-Muster einfüge.

Als Bonus möchte ich, dass dies auch für CUSTOM through = tables in Django gilt; und alle zusätzlichen Felder in der Tabelle through auf Felder in den zurückgegebenen ähnlich zuordnen .

Danke!

    
chris.guethle 20.06.2013, 14:58
quelle

2 Antworten

4

Sie sollten Ссылка

untersuchen

Dies wurde in Ссылка

vorgeschlagen     
Thomas Grainger 14.11.2013 14:27
quelle
2

drf-extensions bieten auch verschachtelte Routen. Schauen Sie sich Ссылка

    
ayarshabeer 14.01.2015 13:33
quelle