Ich baue einen einfachen Web-Shop. Es gibt Category
Objekte und Product
Objekte.Wiederverwendung der gleichen URL-Muster in Django
Ich möchte, dass die URLs sowohl für auf der obersten Ebene sein, dh ein Category
namens „Jacket“ bei http://example.com/jacket wäre und ein Product
namens „Foo“ auf http://example.com/foo wäre.
Ich bin nicht sicher, wie dies in meinen URLs zu behandeln, da beide den gleichen regulären Ausdruck entsprechen. Ich kann nur eine einzige DetailView
haben, die get_object()
überschreibt, zuerst nach einem Produkt mit dem Slug sucht und dann nach einer Kategorie mit dem Slug sucht und zurückgebe, was auch immer es zuerst findet. (Im Falle, dass sowohl ein Produkt als auch eine Kategorie den gleichen Slug haben, würde ich das Produkt servieren wollen.)
Gibt es einen besseren Weg, damit umzugehen?