我有一个扩展TextField的自定义字段。它从模型实例中引用了另一个字段。我试图在模型保存时找到检查引用字段值的正确方法。
我以为我可以使用contrib_to_class函数来发出如下信号:
def contribute_to_class(self, cls, name):
super(CropField, self).contribute_to_class(cls, name)
setattr(cls, name, CropFieldCreator(self))
# Save tags back to the database post-save
post_save.connect(self.post_save_function, cls)
def post_save_function(self, **kwargs):
instance = kwargs['instance']
try:
instance.poster.file
except:
instance.cropping = '{}'
instance.save()
这给出了错误:在保存时我认为比较(运行时错误)超出了最大递归深度。
你认为这是否正确?
答案 0 :(得分:0)
你在except子句中调用instance.save()
。这可能是导致无限递归的原因。