Czy można zapisać powiązane obiekty przed faktycznym edytowanym obiektem w formularzu administratora django?Zapisz powiązane obiekty przed faktycznym edytowanym obiektem na django admin
Na przykład:
w 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"
w admin.py
class ChildInline(admin.TabularInline):
model = Child
extra = 1
class ParentsAdmin(admin.ModelAdmin):
inlines = [ChildInline]
admin.site.register(Parent,ParentsAdmin)
Teraz w Django administratora gdybym zapisać obiekt nadrzędny, to wyświetli na konsoli.
Parent save
Child save
muszę to się stało w revese kolejności:
Child save
Parent save
nie wiem, czy jest to wersja Django rzecz lub rzecz logiki biznesowej, ale dla Django 1.11 i mojego użytkowania. to wydaje się być właściwą odpowiedzią – ckot