当我尝试将一个ForeignKey引用的对象内联(在弹出窗口中)编辑到我的应用程序的管理部分(使用django套件)中的proxy model时,我收到404错误。
我的基本模型和代理模型:
20160921_02_id_53109418.fig
我的模型用它来绑定书籍的类型。 class Book(MyBase):
"""
Base book model
"""
# [...]
class SpecialBook(Book):
"""
Need to leave this separated as a proxy model.
"""
class Meta:
proxy = True
字段可以通过文档保存对book
和Book
的引用:
[proxy]类在与其父
相同的数据库表上运行
SpecialBook
用于管理流派的class BookGenre(MyBase):
"""
bind books with it's genre
"""
book = models.ForeignKey(Book)
genre = models.ForeignKey(Genre)
内容:
admin.py
以上为我生成了一个管理页面,其中包含一个包含现有class BookGenreInline(suit.admin.SortableTabularInline):
model = BookGenre
# [...]
@admin.register(Genre)
class GenreAdmin(AdminBase):
inlines = [
BookGenreInline,
# [...],
]
fields = [...]
(和Book
)对象的选择字段。在选择的权利我已经选择了#34;更改了选项"和"添加另一个"按钮(从here导入的模板我相信)。唯一的问题是编辑选项仅在选择了Book对象时起作用,对SpecialBook不起作用。据我所知,SpecialBook
change_related_template_url
{{}}}未被更新。用于编辑Book
对象的网址看起来像/admin/books/book/ID[...]
并且工作正常,但是当我选择/admin/books/specialbook/ID[...]
对象时,它不会更改为SpecialBook
。
有人可以在这里提出一个优雅的解决方案吗?