728x90
320x100
팔로우/팔로잉 기능 구현
필드 만들기
좋아요와 마찬가지로 ManyToMany 이지만 다른 점은
UserModel을 Self 로 참조하는 필드라는 것
class UserModel(AbstractUser): # UserModel에서 AbstractUser(장고기본유저모델)를 사용하겠다
class Meta:
db_table = "my_user" # 여기는 테이블 이름이에요! 꼭 기억 해 주세요!
# 기본 모델에 없던 것만 추가 (닉네임, 프로필이미지)
nickname = models.CharField(max_length=15, default='')
user_img = models.FileField("프로필이미지",upload_to='',blank=True,null=True,validators=[MaxValueValidator(500 * 1024)], )
fields = ['nickname', 'user_img']
followings = models.ManyToManyField('self', symmetrical=False, related_name='followers') # 팔로우 필드 추가
symmetrical : 대칭 여부 설정, True라고 하면 팔로우를 눌렀을 때 자동으로 맞팔이 됨.
기능 구현하기
user/views.py
# ============================= 팔로우, 팔로잉 리스트 =============================
def following_list(request, id):
user = UserModel.objects.get(id=id)
following_users = user.followers.all()
return render(request, 'user/following_list.html', {'following_users': following_users})
def follower_list(request, id):
user = UserModel.objects.get(id=id)
follower_users = user.followings.all()
return render(request, 'user/follower_list.html', {'follower_users': follower_users})
레포지토리 README.md 수정하기
https://github.com/ChaeYami/ikmyeongram
300x250
반응형
GitHub 댓글