我有两个模型。在
当MyModelForm.save
函数被调用时,我想创建一个MyOtherModel
的实例,并向其添加MyModel
。为此,我需要首先在MyModel
实例的MyModelForm.save
中调用save
,否则无法将其添加到MyOtherModel
。在
问题是MyModel.save
被调用了两次,因为当从MyModelForm.save
返回实例时,它会再次被调用。在
如果不调用save两次,如何使此代码正常工作?在
很多人不明白我为什么要这么做,但我隐藏了很多细节来举一个最小的例子。
管理员py
def do_something(instance):
foo = MyOtherModel.objects.create()
foo.models.add(instance)
class MyModelForm(forms.ModelForm):
def save(self, *args, **kwargs):
instance = super().save(*args, **kwargs)
instance.save()
do_something(instance)
return instance
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
form = MyModelForm
模型.py
^{pr2}$
目前没有回答
相关问题 更多 >
编程相关推荐