我有一个Order
(1)和OrderLine
(n)模型,这里的订单可以有多条订单行。这是来自Django-admin内部的[[all run,其中OrderLine
被设置为inlines
上OrderAdmin(admin.ModelAdmin)
的一部分。
class OrderLine(admin.StackedInline):
pass
@admin.register(Order)
class OrderAdmin(admin.ModelAdmin):
inlines = [OrderLine]
我在两个型号上都注册了| | pre_saveOrderLinepre_save
和post_save
。 Django按照以下顺序调用这些信号:订购| pre_save
- 订购| post_save
OrderLine 1 | pre_save- OrderLine 1 | post_save
- OrderLine 2 | pre_save
- OrderLine 2 | post_save
- OrderLine
- n
订购| pre_saveOrderLine 1 | pre_save
OrderLine
中进行一些计算,并且需要在Order
中使用这些结果。但是post signal
已被调用。我看到的唯一解决方案是在每个OrderLine post signal
上调用我的代码,这有点多余,尤其是当您有许多订单行时。