def update_education(education_list, profile_id):
"""
Update education for given profile id.
Args:
education_list (list): List of education dicts.
profile_id (int): User profile id.
"""
saved_education_ids = set()
for education in education_list:
education_id = education.get("id")
if education_id is not None:
try:
education_instance = Education.objects.get(profile_id=profile_id, id=education_id)
except Education.DoesNotExist:
raise ValidationError("Education {} does not exist".format(education_id))
else:
education_instance = None
education_serializer = EducationSerializer(instance=education_instance, data=education)
education_serializer.is_valid(raise_exception=True)
education_serializer.save(profile_id=profile_id)
saved_education_ids.add(education_serializer.instance.id)
Education.objects.filter(profile_id=profile_id).exclude(id__in=saved_education_ids).delete()
评论列表
文章目录