在Django admin更改/添加页面中显示ForeignKey数据

Bri*_*cks 7 python django django-models django-admin

我正在尝试获取模型的属性以显示在另一个模型的Django管理员更改/添加页面中.这是我的模特:

class Download(model.Model):
    task = models.ForeignKey('Task')

class Task(model.Model):
    added_at = models.DateTimeField(...)
Run Code Online (Sandbox Code Playgroud)

无法切换外键,所以我不能使用Inlines,当然fields = ('task__added_at',)也不能在这里工作.

这样的标准方法是什么?(或者我是否将管理员拉得太远?)

我已经在使用自定义模板,所以如果这是可以做到的答案.但是,我更喜欢在管理员级别这样做.

Dan*_*man 11

如果您不需要编辑它,则可以将其显示为只读字段:

class DownloadAdmin(admin.ModelAdmin):
    readonly_fields = ('task_added_at',)

    def task_added_at(self, obj):
        return obj.task.added_at
Run Code Online (Sandbox Code Playgroud)