본문 바로가기

BackEnd/Django

[Django] Feed2!



이 페이지를 위한 데이터를 시리얼라이징 해보자


일단


이미지


유저이미지, 유저아이디, 유저의 지역


댓글 유저 아이디, 댓글 내용, 날짜


좋아요 갯수가 될 것임


class FeedUserSerializer(serializers.ModelSerializer):

class Meta:
model = user_models.User
fields = (
'username',
'profile_image'
)


일단 시리얼라이즈단에 Feed를 위한 시리얼라이즈를 생성


필드는 


유저의 이름과, 프로필 이미지이다.


class ImageSerializer(serializers.ModelSerializer) :

comments = CommentSerializer(many=True)
creator = FeedUserSerializer()

class Meta :
model = models.Image
fields = (
'id',
'file',
'location',
'caption',
'comments',
'creator',
'like_count',)


이미지 단에는


이것저것 있지만 여기서 눈여겨 봐야 할 것은


creator가 FeedUserSerializer를 참조 한다는 것과


like_count이다.


전자는 이미지를 올린 유저의 중복을 막기 위함이고


like_count는 많은 데이터가 아닌 좋아요를 한 숫자만을 원하기 때문에 related한 값이다.




@property
def like_count(self):
return self.likes.all().count()


실제로 모델.py에서 이미지 클래스에 추가되어 있다.



class Comment(TimeStampedModel) :

""" Comment Model """

message = models.TextField()
creator = models.ForeignKey(user_models.User,on_delete=models.CASCADE, null=True)
image = models.ForeignKey(Image, on_delete=models.CASCADE, null=True, related_name='comments')

def __str__(self):
return self.message


댓글 내용과 

유저를 참조하였당.!

'BackEnd > Django' 카테고리의 다른 글

[Django] 코멘트 구현! _Image  (0) 2018.11.04
[Django]Likey!! 좋아요 구현 _image  (0) 2018.11.04
[DJANGO] Feed View (Sorting)  (0) 2018.11.04
[DJANGO] NEST Serializer & Foreign Key  (1) 2018.11.04
[DJANGO] Serializer  (0) 2018.11.04