Flask SQLAlchemy 쿼리, 열 이름 지정
모델을 사용하여 쿼리에서 원하는 열을 지정해야합니까 (기본적으로 모든 열이 선택됨)? sqlalchmey session : 으로이 작업을 수행하는 방법을 알고 session.query(self.col1)
싶습니다 모델로 어떻게 수행 할 수 있습니까? 나는 할 수 없다 SomeModel.query()
. 방법이 있습니까?
이 with_entities()
메서드를 사용 하여 결과에 반환 할 열을 제한 할 수 있습니다 . ( 문서 )
result = SomeModel.query.with_entities(SomeModel.col1, SomeModel.col2)
요구 사항에 따라 지연이 유용 할 수도 있습니다 . 이를 통해 신호를 전달합니다.
session.query().with_entities(SomeModel.col1)
와 같다
session.query(SomeModel.col1)
.label ()을 사용할 수 있습니다.
session.query(SomeModel.col1.label('some alias name'))
load_only 함수 를 사용할 수 있습니다 .
from sqlalchemy.orm import load_only
fields = ['name', 'addr', 'phone', 'url']
companies = session.query(SomeModel).options(load_only(*fields)).all()
(또는 일반적으로 기본 클래스, 특히 선언적 확장이 사용되는 경우) 할당 Model.query
되기 때문에 사용할 수 있습니다 . 이 경우는 동일하다 .Model
Sesssion.query_property
Model.query
Session.query(Model)
쿼리에서 반환 된 열을 수정하는 방법을 알지 못합니다 (를 사용하여 더 추가하는 경우 제외 ). 따라서 가장 좋은 방법은 (Salil이 이미 보여준 것처럼 )를 사용하는 것 입니다.add_columns()
Session.query(Model.col1, Model.col2, ...)
여기에 예 :
movies = Movie.query.filter(Movie.rating != 0).order_by(desc(Movie.rating)).all()
등급이 <> 0 인 영화에 대해 db를 쿼리 한 다음 가장 높은 등급으로 등급을 매겨 순서를 지정합니다.
여기에서보기 : Flask-SQLAlchemy에서 선택, 삽입, 삭제
참고 URL : https://stackoverflow.com/questions/11530196/flask-sqlalchemy-query-specify-column-names
'IT' 카테고리의 다른 글
Go의 http 패키지에서 POST 요청에 대한 쿼리를 어떻게 얻습니까? (0) | 2020.08.27 |
---|---|
VS2015 프로젝트가 더 이상 디버그 모드에서 실행되지 않습니다. (0) | 2020.08.27 |
Visual Studio : 여러 빌드 후 명령? (0) | 2020.08.27 |
왜 캐스팅을 피해야합니까? (0) | 2020.08.27 |
Matlab : 명령 줄에서 m- 파일 실행 (0) | 2020.08.27 |