我有一个扩展 TextField 的自定义字段。它从模型实例中获取另一个字段的引用。我试图找到在模型保存时检查引用字段值的正确方法。
我想我可以使用contribute_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()
这给出了错误:我认为在保存时超出了最大递归深度(运行时错误)。
你认为这是否是正确的方法?