是否可以在django管理表单上编辑实际对象之前保存相关对象?
例如:
在 models.py
class Parent(model.Model):
pass
class Child(model.Model):
parent = models.ForeignKey(Parent)
@receiver(post_save,sender = Parent)
def notify_parent_save(sender, instance=None, **kwargs):
print "Parent save"
@receiver(post_save,sender = Child)
def notify_child_save(sender, instance=None, **kwargs):
print "Child saved"
Run Code Online (Sandbox Code Playgroud)
在 admin.py
class ChildInline(admin.TabularInline):
model = Child
extra = 1
class ParentsAdmin(admin.ModelAdmin):
inlines = [ChildInline]
admin.site.register(Parent,ParentsAdmin)
Run Code Online (Sandbox Code Playgroud)
现在,在django admin中,如果我保存父对象,它将在控制台上输出.
Parent save
Child save
Run Code Online (Sandbox Code Playgroud)
我需要这个按照顺序发生:
Child save
Parent save
Run Code Online (Sandbox Code Playgroud)