0

我有一个扩展 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()

这给出了错误:我认为在保存时超出了最大递归深度(运行时错误)。

你认为这是否是正确的方法?

4

1 回答 1

0

您正在调用instance.save()except 子句。这可能是导致无限递归的原因。

于 2013-11-13T15:51:02.167 回答