【问题标题】:Editing django admin change list item编辑 django 管理员更改列表项
【发布时间】:2016-10-31 18:16:46
【问题描述】:

所以目前我有一个 django 模型管理页面,其中指定了一些额外的字段。我希望能够只修改 1 个字段,以便我可以单击它而不是列出值来转到一个 URL。

假设模型是产品,字段是 ID。现在它显示 ID,但我希望能够单击更改列表上的 ID 以转到以下 URL:

http://google.com/ID

http://google.com/ 没有保存在任何地方。

我该怎么做呢?

谢谢!

【问题讨论】:

    标签: python django python-2.7 django-admin


    【解决方案1】:

    您可以通过自定义 ModelAdmin 的“list_display”字段来实现:

    from django.contrib import admin
    
    @admin.register(MyModel)
    class MyAdmin(admin.ModelAdmin):
        list_display = (
            # put all other fields you want to be shown in listing
            'id_link',
        )
    
        def id_link(self, obj):
            return 'http://google.com/' + self.id
        id_link.short_description = 'ID'
    

    https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display

    【讨论】: