def validate(self, data):
"""
Validate visibility is not required for replies.
If given, make sure it is the same as parent. If not given, use parent visibility.
"""
parent = data.get("parent")
if parent:
if data.get("visibility") and parent.visibility != data.get("visibility"):
raise serializers.ValidationError("Visibility was given but it doesn't match parent.")
data["visibility"] = parent.visibility
else:
if not self.instance and not data.get("visibility"):
raise serializers.ValidationError("Visibility is required")
return data
评论列表
文章目录