'만들기''APIView '를 구현하고 있습니다.빈 시리얼 화기 (필드 없음)로 APIView를 생성하십시오.
FollowCreateAPIView 가 - '로그인 한 사용자됩니다 self.request.user 에서 - 얻는다'사용자의 ID ''로그인 한 사용자 ' (URL에서) 수행하고자하는 자 - 정보 위에서, 새 데이터 작성을 따르십시오! 여기
이
url(r'^follow/(?P<user_id>\d+)$', FollowCreateAPIView.as_view(), name="user_profile"),
모델
class Follow(models.Model):
follower = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='follower')
following = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='following')
created_at = models.DateTimeField(auto_now_add=True)
CreateAPIView (내가 URL에서 user_id를 얻을 수 print(following_id)
반환 None
) urls.py입니다
class FollowCreateAPIView(generics.CreateAPIView):
queryset = Follow.objects.all()
serializer_class = FollowCreateSerializer
def perform_create(self, serializer):
following_id = self.request.GET.get('user_id', None)
print(following_id) <<<<- HERE!
following_user = User.objects.filter(id=following_id)
serializer.save(follower=self.request.user, following=following_user)
시리얼
,536,class FollowCreateSerializer(serializers.ModelSerializer):
class Meta:
model = Follow
fields =()
- 이 문제를 해결할 수 있습니까? 그리고이
Like
기능은 매우 보편적 인 것처럼 보입니다. 더 좋은 방법이 있습니까? (있는 경우 ...)
정말 고마워요!
DRF의 업데이트보기를 확인하십시오. 이미 필요한 것을 수행하는 코드가있을 것입니다. URL에있는 ID를 사용하여 모델 인스턴스를 얻거나 찾지 못할 경우 404를 반환하십시오. 하위 클래스의 나머지 논리를 사용자 정의 할 수 있습니다. – Risadinha