2024-05-29 03:14:04 发布
网友
嗨,我有一份餐厅列表(如麦当劳等),包括菜单(如午餐菜单、晚餐菜单)、子菜单(如开胃菜、三明治等)和菜肴(安格斯汉堡、鸡肉汉堡等)
它们都由外键连接。在
有没有办法,这样在餐厅管理,我有一个表格式的菜单内联,与一个链接去编辑该菜单(在它自己的管理页面,不是内联)这样我可以显示与菜单管理员内联的子菜单。每个子菜单都有一个链接来编辑该子菜单项(在它自己的管理页面中,不是内联的),这样我就可以在线显示菜品了。在
谢谢。在
所以您想在您的MenuInline中添加一个链接到每个菜单的change_form的字段?在
MenuInline
change_form
这可以使用^{}字段来完成。在
首先,我将向菜单模型添加一个方法,该方法在管理中创建指向模型的change_form的链接。有关一些指针,请参见Reversing admin URLs。在
你应该得到类似的结果:
def get_menu_admin_page(self): from django.core.urlresolvers import reverse return '<a href="%s">%s</a>' % (reverse('admin:yourapp_menu_change', args=(self.pk,)), self.menu_title) get_menu_admin_page.allow_tags = True
现在您可以将此方法添加到您的InlineAdmin。在
InlineAdmin
现在您的TabularInline应该包含一个指向每个菜单的change_view的链接。在
TabularInline
change_view
如果您只想在Restaurant change视图中附加一些链接,那么实际上不需要使用inline,因为这提供了一个用于更改数据的表单。我可能会覆盖RestaurantAdmin中的change_view来获取相关菜单的列表,并将其作为一个额外的上下文传递。然后覆盖特定于模型的更改_表单.html用于呈现菜单链接的模板。在
所以您想在您的
MenuInline
中添加一个链接到每个菜单的change_form
的字段?在这可以使用^{} 字段来完成。在
首先,我将向菜单模型添加一个方法,该方法在管理中创建指向模型的
change_form
的链接。有关一些指针,请参见Reversing admin URLs。在你应该得到类似的结果:
现在您可以将此方法添加到您的
^{pr2}$InlineAdmin
。在现在您的
TabularInline
应该包含一个指向每个菜单的change_view
的链接。在如果您只想在Restaurant change视图中附加一些链接,那么实际上不需要使用inline,因为这提供了一个用于更改数据的表单。我可能会覆盖RestaurantAdmin中的change_view来获取相关菜单的列表,并将其作为一个额外的上下文传递。然后覆盖特定于模型的更改_表单.html用于呈现菜单链接的模板。在
相关问题 更多 >
编程相关推荐