Я определил несколько моделей: Журналы, тома, volume_scanInfo и т.д.
Журнал может иметь больше томов, а тома может иметь больше scanInfo.
Что я хочу сделать:
- на странице администратора журналов. Я хочу иметь список томов inline (done)
- подключить каждый том предыдущего списка к своей странице администратора, где я могу показать форму для редактирования тома и списка его "информации сканирования" inline.
поэтому я хочу иметь что-то вроде:
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>
То, что я попытался сделать, - это определить модельный метод, который создает код и пытается использовать его внутри класса, который определяет "объем встроенного" в админ, но он не работает.
Другими словами
модель "Том" имеет внутри что-то вроде:
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.
Любая идея?
Спасибо, Giovanni