def validate_membership(self, attrs, source):
all_modified = attrs.get('membership')
all_existing = Member.objects.filter(
user=self.object, status=MemberStatusField.STATUS_MEMBER
)
all_existing = list(all_existing)
all_modified = list(all_modified)
for exi in all_existing:
found = False
for mod in all_modified:
if exi.id == mod.id:
found = True
if mod.status != MemberStatusField.STATUS_MEMBER:
msg = 'Only members with STATUS_MEMBER could be updated'
raise serializers.ValidationError(msg)
if not found:
msg = 'All memberships keys has to be changed at once'
raise serializers.ValidationError(msg)
return attrs
评论列表
文章目录