4
如何查找任意模型的管理員更改網址?查找管理員更改任意Django模型的網址
如果我知道的模型,我可以做這樣的事情弄的網址:
>>> print urlresolvers.reverse('admin:myapp_mymodel_change', args=(obj.id,))
/admin/myapp/mymodel/123/
我有一個模型,一個通用外鍵,我想提供在管理員的一個鏈接對象的相應更改頁面。由於它可以是任何類型的模型,我不能輕易使用reverse()。有什麼辦法可以簡單地將這一點告訴以下人員?
>>> get_admin_change_url(obj)
/admin/myapp/mymodel/123/
請注意,這裏假定您的admin.py與您的models.py匹配,這通常會。如果您使用代理模型,或者在不同的app_label下顯示模型的modeladmin,這將不起作用。 – Cerin
如果您將代理模型用作ModelAdmin的*模型,它將會正常工作。我不確定你爲什麼不會那麼做,因爲在那時你不會真正在做正確的事情。 –