SQLAlchemy
사용자 정의 Python 클래스를 데이터베이스 테이블과 연결하는 방법 및 해당 클래스 (개체)의 인스턴스를 해당 테이블의 행과 연결하는 방법을 제공

init 메서드
클래스의 객체가 만들어질 때 자동으로 호출되어서 그 객체가 갖게 될 여러 가지 성질을 정해준다

  • 메서드
    클래스를 만들면서 그 안에 만들어 넣은 함수
    사용하려면 객체.메서드()와 같은 형식으로 호출

repr 메서드
파이썬의 기본문인 print 문을 가능하게 해주는 것
repr : 'Representation’ 표현하다

   def __repr__(self):
       return self.title

참고: strrepr의 차이점

정적메소드 classmethod
cls가 있는데 이것은 '클래스'를 가리킨다. 이것으로 클래스의 어떤 속성에도 접근할 수 있다.

class ItemDao(ItemDto):
    @classmethod
    def find_all(cls):
        return cls.query.all()

    @classmethod
    def find_by_id(cls, id):
        return cls.query.filter_by(id == id).first()

위 코드를 보고 궁금했던 점 : classmethod는 동적변수로 접근할 수 있게하고 id 값이 바뀌어도 어떤 클래스의 속성에 접근할 수 있게 한다는 것이 올바른 생각인지 궁금했다.

해결 : cls는 전역변수로 외부에서 static으로 사용하게 하는 인자이다. 싱글톤패턴을 위해(스프링에서는 이것을 @Autowired로 처리함) 즉, static처럼 사용하기 위해 작업

profile
개발 공부 !-벨로그 적응 중-기록 위주 벨로그

0개의 댓글