Django models 在非页面模型上呈现Wagtail InlinePanel,而不使用代码段?

Django models 在非页面模型上呈现Wagtail InlinePanel,而不使用代码段?,django-models,wagtail,Django Models,Wagtail,我定义了两个模型,并将它们链接起来,如下所示。Order模型应使用摇尾InlinePanel显示OrderItems。如何在不将订单模型注册为代码段的情况下使其工作 wagtail.admin.edit\u处理程序导入InlinePanel中的 从wagtail.core.models导入医嘱内容 从wagtail.snippets.models导入寄存器\ U代码段 从modelcluster.fields导入( ParentalKey, ) 从modelcluster.models导入Clu

我定义了两个模型,并将它们链接起来,如下所示。
Order
模型应使用摇尾InlinePanel显示
OrderItems
。如何在不将
订单
模型注册为代码段的情况下使其工作

wagtail.admin.edit\u处理程序导入InlinePanel中的

从wagtail.core.models导入医嘱内容
从wagtail.snippets.models导入寄存器\ U代码段
从modelcluster.fields导入(
ParentalKey,
)
从modelcluster.models导入ClusterableModel
@寄存器代码段
类别顺序(ClusterableModel):
面板=[
InlinePanel(“项目”,label=“订单项目”),
]
定义(自我):
返回f“Order{self.id}”
def获取总成本(自身):
返回金额(self.items.all()中项目的item.get_cost())
类OrderItem(可订购):
order=ParentalKey(
顺序
相关的_name=“项目”,
在_delete=models.CASCADE上,
空白=假,
)
product=models.CharField(最大长度=255)
price=models.DecimalField(最大位数=10,小数位数=2)
数量=型号。正整数字段(默认值=1)
面板=[
现场面板(“产品”),
现场面板(“价格”),
现场面板(“数量”),
]

在找到
models.py
的同一应用程序中创建
wagtail\u hooks.py
。然后,在
wagtail\u hooks.py
中,执行类似操作(这里的
OrderAdmin
类中有大量额外内容供您签出-注意,并非所有字段都与您的匹配):


通过上面的操作,您可以查看
订单
及其关联的
OrderItem
s,而无需将
订单
声明为一个片段

在找到
models.py
的同一个应用程序中创建
wagtail\u hooks.py
。然后,在
wagtail\u hooks.py
中,执行类似操作(这里的
OrderAdmin
类中有大量额外内容供您签出-注意,并非所有字段都与您的匹配):


通过上面的操作,您可以查看
订单
及其关联的
OrderItem
s,而无需将
订单
声明为一个片段

@Brylie Christopher Oxley只是想知道这是否适用于您,以及答案是否可以接受。是的,InlinePanel现在正在正确渲染。然而,我已经为订单模型定义了一个ModelAdmin。重新启动服务器似乎解决了问题,因为某种原因,InlinePanel以前没有正确渲染。@Brylie Christopher Oxley只是想知道这是否对您有效,以及答案是否可以接受。是的,InlinePanel现在渲染正确。然而,我已经为订单模型定义了一个ModelAdmin。重新启动服务器似乎解决了这个问题,因为某种原因,InlinePanel以前没有正确呈现。
from wagtail.contrib.modeladmin.options import ModelAdmin, modeladmin_register

class OrderAdmin(ModelAdmin):
    model = Order
    menu_order = -100
    menu_label = 'Orders'
    menu_icon = 'fa-shopping-cart'
    list_display = ('number', 'customer', 'date_placed', 'total', 'payment_method', 'status')
    list_filter = (OrderStatusFilter, )
    search_fields = ('number', 'customer')
    inspect_view_enabled = True
    inspect_view_fields = ['number', 'status', 'customer', 'shipping_address', 'total', 'subtotal', 'shipping', 'handling', 'tax', 'date_placed', 'notes', 'payment_method', 'payment_card']

modeladmin_register(OrderAdmin)