22from rest_framework import serializers
33
44from core .fields import CustomListField
5- from core .services import get_views_count , get_likes_count
5+ from core .services import get_views_count , get_likes_count , is_fan
66from industries .models import Industry
77from projects .models import Project , Achievement , Collaborator , ProjectNews
88from projects .validators import validate_project
@@ -215,6 +215,7 @@ class ProjectNewsListSerializer(serializers.ModelSerializer):
215215 likes_count = serializers .SerializerMethodField ()
216216 project_name = serializers .SerializerMethodField ()
217217 project_image_address = serializers .SerializerMethodField ()
218+ is_user_liked = serializers .SerializerMethodField ()
218219
219220 def get_project_name (self , obj ):
220221 return obj .project .name
@@ -228,6 +229,12 @@ def get_views_count(self, obj):
228229 def get_likes_count (self , obj ):
229230 return get_likes_count (obj )
230231
232+ def get_is_user_liked (self , obj ):
233+ user = self .context .get ("user" )
234+ if user :
235+ return is_fan (obj , user )
236+ return False
237+
231238 class Meta :
232239 model = ProjectNews
233240 fields = [
@@ -238,6 +245,7 @@ class Meta:
238245 "datetime_created" ,
239246 "views_count" ,
240247 "likes_count" ,
248+ "is_user_liked" ,
241249 "files" ,
242250 ]
243251
@@ -247,6 +255,7 @@ class ProjectNewsDetailSerializer(serializers.ModelSerializer):
247255 likes_count = serializers .SerializerMethodField ()
248256 project_name = serializers .SerializerMethodField ()
249257 project_image_address = serializers .SerializerMethodField ()
258+ is_user_liked = serializers .SerializerMethodField ()
250259
251260 def get_project_name (self , obj ):
252261 return obj .project .name
@@ -260,6 +269,12 @@ def get_views_count(self, obj):
260269 def get_likes_count (self , obj ):
261270 return get_likes_count (obj )
262271
272+ def get_is_user_liked (self , obj ):
273+ user = self .context .get ("user" )
274+ if user :
275+ return is_fan (obj , user )
276+ return False
277+
263278 class Meta :
264279 model = ProjectNews
265280 fields = [
@@ -271,5 +286,6 @@ class Meta:
271286 "datetime_updated" ,
272287 "views_count" ,
273288 "likes_count" ,
289+ "is_user_liked" ,
274290 "files" ,
275291 ]
0 commit comments