Я определил несколько моделей: журналы, тома, 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>
То, что я пытался сделать, - это определить метод модели, который создает код, и попытаться использовать его внутри класса, который определяет «объемную строку» в админке, но он не работает.
Другими словами
модель "Объем" имеет внутри что-то вроде:
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