2013-01-20 2 views
1

http://django-rest-framework.org/tutorial/4-authentication-and-permissions.html에서 자습서 1-4를 완료하고 코드를 실행했습니다.django rest frame 작업 자습서 4 serializer 개념

그러나, 나는 완전히 주위의 설명을 이해하지 오전 :

owner = serializers.Field(source='owner.username') 

내가 어떤 분야에 어떤 필드 다스 려에 의해 혼란 스러워요.

예를 들어, models.py의 Snippet 클래스에 소유자 필드가 정의되어 있습니다. https://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey에서 찾은 후 ForeignKey()이 클래스를 반환합니다. auth.User 클래스를 반환합니까?

owner = serializers.Field(source='owner.username') 

는 참조

는 않는 2.If, 무엇을 "소유자 것은"무엇입니까? serializers.py의 가져 오기 부분에 소유자가 없습니다.

3. 무엇이 있습니까? serializers.Field(source='owner.username')은 무엇을 반환합니까? auth.User에서 사용자 이름을 반환합니까?

4. 해당 모델에 다른 테이블에 대한 필드 참조가있는 경우 해당 필드를 serializer 클래스에 추가해야합니까?

답변

0

owner = 'owner.username'은 소유자가 FK-User 일 뿐이므로 'user.username'으로 변환됩니다.

귀하의 경우 필드 왼쪽의 '소유자'는 중요하지 않습니다. 즉, 다음과 같은 맞춤 입력란을 추가 할 수 있습니다.

xyz = serializers.Field(source='owner.username') 
관련 문제