我尝试从ParentSerializer调用cleanse方法,但从ChildSerializer调用,如最后一行所示。
class ParentSerializer(models.ModelSerializer):
def cleanse(self):
if hasattr(self, 'initial_data'):
val1 = self.initial_data['name']
val2 = self.initial_data['age']
val3 = self.initial_data['city']
return self.initial_data
class ChildSerializer(GenericSerializer):
def is_valid(self, raise_exception=False):
if hasattr(self, 'initial_data'):
super(ChildSerializer, self).cleanse(self)错误:
TypeError: cleanse() takes 1 positional argument but 2 were given为什么这不起作用?
发布于 2018-04-11 10:00:23
将最后一行替换为
super(ChildSerializer, self).cleanse()你不需要self,超级调用引用你的父类并充当它。
https://stackoverflow.com/questions/49765310
复制相似问题