为什么我的 id 没有出现在 django 管理列表中?

发布于 2024-09-06 08:24:56 字数 349 浏览 4 评论 0原文

我有一个类 Task(models.Model),并且我没有显式定义 id 字段(因为它会自动为您定义)。我检查了数据库,它存在于该任务中。现在我想通过 admin.ModelAdmin 中的 list_display 属性将其显示在列表中。我里面有很多东西,只有 id 没有显示在我拥有的任何行中。其他一切都很好。有人知道我需要做什么才能显示 id 吗?

编辑: 如果我定义一个函数如下:

def ID(self, obj):
        return obj.id

并且我把这个函数放在list_display中,由于某种原因它会很好地显示id。

多谢!

贾森

I have a class Task(models.Model), and i didn't define id field explicitly (since it defines automatically for you). I checked in the database, it exists for the Task. Now i would like to display it in the list via list_display property in admin.ModelAdmin. I have a bunch of things in there, only id is not showing up for any of the rows i have. Everything else works fine. Anyone know anything special i have to do to get id to display?

EDIT:
if i define a function as follows:

def ID(self, obj):
        return obj.id

and i put this function in list_display, it will display id just fine for some reason.

Thanks a lot!

Jason

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

信愁 2024-09-13 08:24:56

默认情况下不显示。您需要为该模型创建一个自定义管理类,然后将“id”添加到 list_display 值中。例如,在whatever/admin.py中:

class TaskAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', etc. etc] 

admin.site.register(Task, TaskAdmin)

有关更多详细信息,请参阅文档

It doesn't show by default. You need to create a custom Admin class for that model and then add 'id' to the list_display value. E.g. in whatever/admin.py:

class TaskAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', etc. etc] 

admin.site.register(Task, TaskAdmin)

See the docs for more details.

掀纱窥君容 2024-09-13 08:24:56

我相信您也在 admin.ModelAdmin 中使用过 list_editable 。这会导致 ID 被隐藏,并且是一个已知错误: http://code.djangoproject.com/ticket/ 12475

解决方法是声明 list_display_links 选项:

class AdAdmin(admin.ModelAdmin):
    list_display = ['id', 'ad_title', 'status', 'sponsor' ... ]
    list_display_links = ['id', 'ad_title'] # forcing to display id of model
    list_editable = ['status']
    ...

谢谢,希望这会有所帮助。

I believe you have also used list_editable in your admin.ModelAdmin. This causes the ID to be hidden and is a known bug: http://code.djangoproject.com/ticket/12475.

The work around is to state list_display_links option:

class AdAdmin(admin.ModelAdmin):
    list_display = ['id', 'ad_title', 'status', 'sponsor' ... ]
    list_display_links = ['id', 'ad_title'] # forcing to display id of model
    list_editable = ['status']
    ...

Thanks and hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文