mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2025-07-16 02:16:16 +00:00
changes in article update api and get image url method
This commit is contained in:
@ -33,7 +33,8 @@ class ArticleCardSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
validated_data['image_url'] = get_image_url(validated_data)
|
validated_data['image_url'] = get_image_url(validated_data)
|
||||||
article_card = ArticleCard.objects.create(article_id='1', **validated_data)
|
article = Article.objects.all().first()
|
||||||
|
article_card = ArticleCard.objects.create(article=article, **validated_data)
|
||||||
return article_card
|
return article_card
|
||||||
|
|
||||||
|
|
||||||
@ -148,11 +149,13 @@ class ArticleSerializer(serializers.ModelSerializer):
|
|||||||
ArticleCard.objects.create(article=instance, **card_data)
|
ArticleCard.objects.create(article=instance, **card_data)
|
||||||
ArticleCard.objects.filter(id__in=prev_card, article=instance).delete()
|
ArticleCard.objects.filter(id__in=prev_card, article=instance).delete()
|
||||||
|
|
||||||
|
prev_survey = list(ArticleSurvey.objects.filter(article=instance).values_list('id', flat=True))
|
||||||
# Update or create survey sections
|
# Update or create survey sections
|
||||||
for survey_data in article_survey:
|
for survey_data in article_survey:
|
||||||
survey_id = survey_data.get('id', None)
|
survey_id = survey_data.get('id', None)
|
||||||
options_data = survey_data.pop('options')
|
options_data = survey_data.pop('options')
|
||||||
if survey_id:
|
if survey_id:
|
||||||
|
prev_survey.remove(survey_id)
|
||||||
survey = ArticleSurvey.objects.get(id=survey_id, article=instance)
|
survey = ArticleSurvey.objects.get(id=survey_id, article=instance)
|
||||||
survey.question = survey_data.get('question', survey.question)
|
survey.question = survey_data.get('question', survey.question)
|
||||||
survey.save()
|
survey.save()
|
||||||
@ -171,6 +174,7 @@ class ArticleSerializer(serializers.ModelSerializer):
|
|||||||
else:
|
else:
|
||||||
option_data = pop_id(option_data)
|
option_data = pop_id(option_data)
|
||||||
SurveyOption.objects.create(survey=survey, **option_data)
|
SurveyOption.objects.create(survey=survey, **option_data)
|
||||||
|
ArticleSurvey.objects.filter(id__in=prev_survey, article=instance).delete()
|
||||||
|
|
||||||
return instance
|
return instance
|
||||||
|
|
||||||
|
@ -16,7 +16,9 @@ def pop_id(data):
|
|||||||
|
|
||||||
|
|
||||||
def get_image_url(data):
|
def get_image_url(data):
|
||||||
if 'image' in data and data['image'] is not None:
|
if 'image_url' in data:
|
||||||
|
return data['image_url']
|
||||||
|
elif 'image' in data and data['image'] is not None:
|
||||||
image = data.pop('image')
|
image = data.pop('image')
|
||||||
filename = f"{ARTICLE_CARD_IMAGE_FOLDER}/{image.name}"
|
filename = f"{ARTICLE_CARD_IMAGE_FOLDER}/{image.name}"
|
||||||
# upload image on ali baba
|
# upload image on ali baba
|
||||||
|
Reference in New Issue
Block a user