2017-11-22 2 views
-1

self은 create (self, validated_data) 메소드에서 무엇을 의미합니까?`self '는 create (self, validated_data) 메소드에서 무엇을 의미합니까?

CloudServerPayOrderSerializer라는 serializer가 있는데 create() 메서드를 재정의하려고합니다.

class CloudServerPayOrderSerializer(ModelSerializer): 

    class Meta: 
     model = TradeRecord 
     exclude = (
      'id', 
      'name', 
      'traderecord_num', 
      'money', 
      'balance', 
      'desc', 
     ) 
    def create(self, validated_data): 
     user = getUserFormSerializer(self) 
     ... 

나는 create 메소드를 오버라이드하며, 사용자를 self으로 가져 가고 싶습니다. 그래서 util 메소드 getUserFormSerializer가 있습니다.

그러나 여기에 이 무엇인지 의미하지는 않습니다. CloudServerPayOrderSerializer을 나타내는 지 여부는 모르겠지만 util 메서드의 이름을 getUserFormSerializer으로 지정할 수 없습니다.

+0

이 기본 파이썬 질문은 :로

그래서,이 경우에 사용됩니다. 파이썬 클래스에서 자아의 사용을 인식하지 못한다면 입문 언어 자습서를 작성해야합니다. –

답변

0

이 메서드를 호출 할 때이 클래스의 구체적인 개체를 나타냅니다. 그것은 어떤 이름 (이름은 this, object 또는 무엇이든 좋아할 수 있습니다)을 가질 수 있습니다. 그러나 그것은 항상 정적이 아닌 메소드에 대한 첫 번째 인수이며, 실제 객체에서 메소드를 호출하면 그 메소드가 점 앞에옵니다 괄호 안에는 없습니다.

cspos = CloudServerPayOrderSerializer() 
cspos.create(42) # self is bound to cspos and validated_data to 42 
+0

이 시나리오에서는 무엇을 의미합니까? – fanhualuojin154873

+0

수정 된 게시물보기 – bipll

+0

예 self는 다른 이름이 될 수 있지만 다른 파이썬 프로그래머와 끝없는 혼란을 야기 할 수 있기 때문에 기존의 'self'에서 이름을 바꾸는 유혹을받지 마십시오. – barny

관련 문제