【发布时间】:2011-01-08 09:55:54
【问题描述】:
我定义了几个模型:Journals、volumes、volume_scanInfo 等。
一个期刊可以有更多的卷,一个卷可以有更多的scanInfo。
我想做的是:
- 在期刊的管理页面中,我希望将卷列表内联(完成)
- 将上一个列表的每个卷连接到其管理页面,我可以在其中显示用于编辑卷的表单及其内联“扫描信息”列表。
所以我想要类似的东西:
Journal #1 admin page
[name]
[publisher]
[url]
.....
list of volumes inline
[volume 10] [..(other fields)..] <a href="/link/to/volume/10">Full record</a>
[volume 20] [..(other fields)..] <a href="/link/to/volume/20">Full record</a>
然后
Volume #20 admin page
[volume number]
[..(other fields)...]
......
list of the scan info inline
[scan info 33] [..(other fields)..] <a href="/link/to/scaninfo/33">Full record</a>
[scan info 44] [..(other fields)..] <a href="/link/to/scaninfo/44">Full record</a>
我试图做的是定义一个模型方法来创建代码并尝试在管理中定义“volume inline”的类中使用它,但它不起作用。
换句话说
“Volume”模型的内部类似于:
def selflink(self):
return '<a href="/admin/journaldb/volume/%s/">Full record</a>' % self.vid
selflink.allow_tags = True
和
class VolumeInline(admin.TabularInline):
fields = ['volumenumber', 'selflink']
model = Volume
extra = 1
但这会产生以下错误:
Exception Value: 'VolumeInline.fields' refers to field 'selflink' that is missing from the form.
有什么想法吗?
谢谢, 乔瓦尼
【问题讨论】:
-
非常好的问题。这种功能应该是内置的。
-
iI 是内置的。自 django 1.8 以来,它在此处回答 (show_change_link):stackoverflow.com/a/28170958/493272
-
我知道,但是这个问题已经 6 岁了 :-) 我会更新答案,所以很明显有这个新功能。
标签: python django django-admin