gpt4 book ai didi

python - 查找管理员更改任意 Django 模型的 url

转载 作者:太空狗 更新时间:2023-10-30 02:49:29 26 4
gpt4 key购买 nike

如何查找任意模型的管理员更改 url?

如果我知道模型,我可以通过执行以下操作来获取 url:

>>> print urlresolvers.reverse('admin:myapp_mymodel_change', args=(obj.id,))
/admin/myapp/mymodel/123/

我在模型上有一个通用外键,我想在管理中提供指向该对象相应更改页面的链接。因为它可以是任何类型的模型,所以我不能轻易使用 reverse()。有什么方法可以将其简化为以下内容吗?

>>> get_admin_change_url(obj)
/admin/myapp/mymodel/123/

最佳答案

获得对象后,您可以在其 _meta 类中访问其应用标签和名称,然后动态构建管理更改 url 的名称。

app_label = obj._meta.app_label
model = obj._meta.module_name

reverse('admin:%s_%s_change' % (app_label, model), args=(obj.id,))

关于python - 查找管理员更改任意 Django 模型的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7986417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com