我在我的序列化器中有这个片段,它使用了一个嵌套的序列化器字段。当我试图提交我的表单时,如果我没有在“assigned facilities”中添加任何内容,它将返回一个KeyError。我尝试添加一个else语句,但似乎没有帮助。调试器实际上是在抱怨第二行,当字段为空时,那么当assigned_facilities字段中没有提交数据时,我如何排除它?我已经在序列化器中使用required=False,allow_null=True。
def create(self, validated_data):
assigned_facilities = validated_data.pop("assigned_facilities")
instance = Lead.objects.create(**validated_data)
for item in assigned_facilities:
instance.leadfacility.create(**item)
else:
print("No Facilities Added!")
return instance
1条答案
按热度按时间mm5n2pyu1#
可以在pop函数中添加默认值,这样就不会引发keyerror