1

当我尝试将 ForeignKey 引用的对象内联(在弹出窗口中)编辑到我的应用程序管理部分(使用 django 套件)中的代理模型时,出现 404 错误。

我的基本模型和代理模型:

class Book(MyBase):
    """
    Base book model
    """
    # [...]

class SpecialBook(Book):
    """ 
    Need to leave this separated as a proxy model.
    """
    class Meta:
        proxy = True

我用它的流派装订书籍的模型。该字段可以通过文档book保存对Book和的引用:SpecialBook

[proxy] 类在与其父级相同的数据库表上运行

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(和SpecialBook)对象的选择字段。在选择的右侧,我有“更改选择”和“添加另一个”按钮(我相信从这里导入的模板)。唯一的问题是编辑选项仅在选择 Book 对象时有效,不适用于 SpecialBook。据我所知,这与此处change_related_template_url找到的内容未更新这一事实有关。编辑对象的 url 看起来像并且可以正常工作,但在我选择对象时不会改变。Book/admin/books/book/ID[...]/admin/books/specialbook/ID[...]SpecialBook

有人可以在这里提出一个优雅的解决方案吗?

4

0 回答 0