Lassen Sie uns sagen, dass ich die folgenden Modelle haben:Django Generisches UpdateView und Multitable Vererbung
class Post(model):
...
class BlogPost(Post):
...
class OtherPost(Post):
...
meine url Schema Angenommen einen Beitrag zu bearbeiten ist so etwas wie,
/site/post/\d+/edit
Mit anderen Worten, I don‘ t haben separate URL-Pfade zum Bearbeiten OtherPosts
vs BlogPost
.
Bei der Verwendung von UpdateView
muss ich das Modell festlegen - aber natürlich ist das eigentliche Modell eine Unterklasse von Post
.
class Update(generics.UpdateView):
model = Post
Was ist der Djangoey/DRY-Weg, damit umzugehen?
Im Moment, mit Blick auf den UpdateView
Code, sieht es so aus, als könnte ich Update.model
undefiniert lassen, und überschreiben get_queryset
, die eine Abfrage mit dem richtigen Submodell zurückgeben müsste. Ich müsste auch get_form
überschreiben, um das richtige Formular zurückzugeben.
Ich poste meine Lösung, wenn ich es funktioniere, aber suche nach möglicherweise besseren (DRYer) Integrationen.