Item
의 id
이 기본 키이고 자동 생성되는 클래스가 있습니다. 이제 다른 외부 소스에서 데이터를 읽고 Item
개체를 만들고이 개체가 이미 내 items
테이블에 있는지 확인해야합니다. 어떻게해야합니까?SQLAlchemy : 개체가 이미 테이블에 있는지 확인하십시오.
10
A
답변
10
동일한 속성을 가진 항목을 쿼리하고 개수가 0보다 큰지 확인할 수 있습니다.
if session.query(Item.id).filter(Item.email==newItem.email,
Item.type==newItem.type).count() > 0:
// item exists
1
이 비슷한 뭔가를 시도 할 수 있습니다 : 이것은 투입에 작용하고 롤백 문제가있는
from sqlalchemy import exc
try:
session.add(item)
session.commit()
except exc.IntegrityError:
session.rollback()
print 'This item fails one of the unique/foreign key checks!'
except:
print 'There was another error'
raise
else:
print 'Everything is OK'
...
또 다른 옵션을 확인할 수있는 경우 속성을 개별적으로 설정하면 작동 할 수 있습니다.
session.query(Item).filter_by(x=item.x, y=item.y).count() == 0
8
가장 효율적인 방법은 exists()
q = session.query(Item.id).filter(Item.email==email)
session.query(q.exists()).scalar() # returns True or False
관련 문제
- 1. mysql에 이미 행이 있는지 확인하십시오.
- 2. 열이 이미 정렬되어 있는지 확인하십시오.
- 3. DLL이 이미 등록되어 있는지 확인하십시오.
- 4. 어떤 테이블에 결과가 있는지 확인하십시오.
- 5. OleDb 테이블에 열이 있는지 확인하십시오.
- 6. 테이블에 값이 있는지 확인하십시오. MySQL
- 7. 확장 개체가 xslt 템플릿에 정의되어 있는지 확인하십시오.
- 8. Microsoft Access가있는 VBA - 개체가 있는지 확인하십시오.
- 9. 정확한 행이 html 테이블에 있는지 확인하십시오.
- 10. 아이폰 - 그룹 이름이 이미 주소록에 있는지 확인하십시오.
- 11. 응용 프로그램이 이미 설치되어 있는지 확인하십시오.
- 12. EF 4 POCO가 이미 ObjectSet에 있는지 확인하십시오.
- 13. PHP mysql이 연결이 이미 설정되어 있는지 확인하십시오.
- 14. 자바 스크립트 파일이 이미 페이지에로드되어 있는지 확인하십시오.
- 15. 목록에 이미 항목이 포함되어 있는지 확인하십시오.
- 16. 특정 제목의 브라우저 탭이 이미 있는지 확인하십시오.
- 17. 파일이 이미 소스 제어에 있는지 확인하십시오
- 18. 이미 이미지가 jQuery로 캐시되어 있는지 확인하십시오.
- 19. 상자 그림자가 이미 적용되어 있는지 확인하십시오.
- 20. 안드로이드 - APP가 이미 설치되어 있는지 확인하십시오.
- 21. NSString/NSMutableArray가 이미 NSUserDefault에 있는지 확인하십시오.
- 22. 입력 항목 텍스트가 이미 선택되어 있는지 확인하십시오.
- 23. 항목이 이미 txt 파일에 있는지 확인하십시오.
- 24. PHP에서 링크가 이미 트윗되어 있는지 확인하십시오.
- 25. 주소/포트가 이미 Android에서 바인딩되어 있는지 확인하십시오.
- 26. jQuery "Fancybox"가 이미 등록되어 있는지 확인하십시오.
- 27. Nant - 원격 공유가 이미 있는지 확인하십시오.
- 28. Oracle : 다른 테이블에 행이 있는지 확인하십시오.
- 29. 최대 절전 모드에서 개체가 다른 개체에 연결되어 있는지 확인하십시오.
- 30. 개체가 동일한 형식인지 확인하십시오.
"get_or_create"시나리오입니까? 그렇다면 http://stackoverflow.com/questions/2546207/does-sqlalchemy-have-an-equivalent-of-djangos-get-or-create –
@DemianBrecht, 응답 해 주셔서 감사합니다. 아니요, 그렇지 않습니다. . – missingfaktor
@missingfaktor 이미 존재하는지 어떻게 알 수 있습니까? 기본 키를 기반으로합니까? 아니면 다른 고유 키? – jadkik94