방금 추가 한 개체의 ID가 session.add()
이어야합니다. committing
세션 전에이 개체의 자동 증가 ID가 필요합니다.SQLAlchemy는 세션을 커밋하지 않고 개체의 ID를 가져옵니다.
오브젝트 instance.id를 호출하면 None
이됩니다.
커밋하지 않고 개체의 ID를 가져 오는 방법이 있습니까?
방금 추가 한 개체의 ID가 session.add()
이어야합니다. committing
세션 전에이 개체의 자동 증가 ID가 필요합니다.SQLAlchemy는 세션을 커밋하지 않고 개체의 ID를 가져옵니다.
오브젝트 instance.id를 호출하면 None
이됩니다.
커밋하지 않고 개체의 ID를 가져 오는 방법이 있습니까?
간단한 대답 : session.flush()
으로 전화하십시오.
감사. 항상 부작용없이 일한다는 보장이 있습니까? – giga
아무 것도 commit()을 호출하지 않습니다. –
hacky solution하지만 마지막으로 추가 된 객체의 ID를 얻고 추가 할 수 있습니까? – rysloan
위의 내용은 실제로 매우 위험하며 모든 종류의 문제가 될 수 있습니다. 여기에서 가장 중요한 질문은/왜/커밋 전에 ID가 필요한지? 편집을 위해서? 또는? 다른 방법으로 객체를 얻거나 편집 할 수 있습니다. –
객체의 ID를 추후에'celery '에 의해 호출 될 함수에 전달해야합니다. http://www.celeryproject.org/ – giga