Django admin,更改ForeignKey小部件的当前值

时间:2014-03-13 16:04:16

标签: django django-admin

在我的Django管理应用程序中,我有一个ForeignKey字段及其相对窗口小部件在更改页面中。

ForeignKey widget with current value on top of select

我希望添加一个链接来更改当前所选产品的视图,而不是当前产品的简单文本。

我的模型由以下组成:WeddingList,Product和WeddingListProducts for m2m relationship ...

在我的admin.py中,ProductAdmin类是WeddingListAdmin类的内联。

这是我的admin.py

class WeddingListProductsInline(admin.TabularInline):
    model = WeddingListProducts
    form = WeddingListProductsAdminForm
    extra = 0

class WeddingListAdmin(admin.ModelAdmin):
    inlines = (WeddingListProductsInline,)

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

好的,我已经解决了我的问题。 我的解决方案是使用以下代码覆盖admin / edit_inline.html模板:

<td class="original">
        {% if inline_admin_form.original or inline_admin_form.show_url %}
            <p>
                {% if inline_admin_form.original %}
                    <a href="{% url 'admin:MyApp_product_change' inline_admin_form.original.product.id %}">
                        {{ inline_admin_form.original }}
                    </a>
                {% endif %}
            </p>
        {% endif %}

并将我的ModelAdmin类的模板属性设置为新模板的相应url。

admin.py

class MyModelInline(admin.TabularInline):
    template = "admin/myapp/mymodel/edit_inline/tabular.html"

请评论任何更好的解决方案!再见;)