在Django管理员更改/添加页面中显示ForeignKey数据 [英] Displaying ForeignKey data in Django admin change/add page
问题描述
我正在尝试获取一个模型的属性,显示在另一个模型的Django管理员更改/添加页面中。以下是我的模型:
I'm trying to get an attribute of a model to show up in the Django admin change/add page of another model. Here are my models:
class Download(model.Model):
task = models.ForeignKey('Task')
class Task(model.Model):
added_at = models.DateTimeField(...)
无法切换外键,所以我不能使用内联,当然 fields =('task__added_at',)
在这里也不工作。
Can't switch the foreignkey around, so I can't use Inlines, and of course fields = ('task__added_at',)
doesn't work here either.
这样的标准方法是什么? (或者我拉伸管理员太远了吗?)
What's the standard approach to something like this? (or am I stretching the Admin too far?)
我已经在使用自定义模板,所以如果这是可以做的答案。但是,我宁愿在管理员级别执行此操作。
I'm already using a custom template, so if that's the answer that can be done. However, I'd prefer to do this at the admin level.
推荐答案
如果您不需要编辑它,可以将其显示为只读字段:
If you don't need to edit it, you can display it as a readonly field:
class DownloadAdmin(admin.ModelAdmin):
readonly_fields = ('task_added_at',)
def task_added_at(self, obj):
return obj.task.added_at
这篇关于在Django管理员更改/添加页面中显示ForeignKey数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!