2011-12-29 4 views
1

명령 줄에서 데이터베이스에 레코드를 추가하려했지만 작동하지 않았습니다. 데이터베이스에 레코드가 추가되지 않았기 때문에 오류가 발생하지 않았습니다. 여기피라미드 : 데이터베이스에 레코드를 추가하는 방법은 무엇입니까?

코드이다 models.py DBSession에서

from myproject.models import DBSession, Model 

session = DBSession() 
md = Model(name='text') 
session.add(md) 

() 지지체에 의해 자동으로 정의 하였다. 모델 구조 만 변경했습니다.

내가 뭘 잘못 했니?

감사합니다.

답변

7

세션이 트랜잭션 관리자 DBSession = .. extensions=[ZopeTransactionExtension()])에 연결되어있는 것 같습니다 (콘솔을 사용할 때 활성화되지 않음). 따라서 당신은 트랜잭션 관리자가되어야하고 스스로하십시오.

import transaction 
transaction.commit() 

코드 끝. session.add은 단순히 개체를 세션에 추가하지만 명령을 데이터베이스로 플러시하거나 커밋하지는 않습니다.

관련 문제