구독자 목록에서 사용자를 삭제하려고 시도했지만 전체 구독자가 자동으로 삭제됩니다. 여기SqlAlchemy Flask를 사용하여 데이터베이스에서 한 행을 삭제 하시겠습니까?
은 내 기능을 구독 :
def subscribe(self, user_id):
if not self.is_subscriber(user_id):
db.engine.execute(
subscribers.insert(),
client_id = self.id,
user_id = user_id
)
db.session.commit()
else:
return False
탈퇴 기능 : 그하여
def unsubscribe(self, user_id):
if self.is_subscriber(user_id):
db.engine.execute(
subscribers.delete(),
client_id = self.id,
user_id = user_id
)
db.session.commit()
else:
return False
내가 그것을 특정 사용자를 삭제해야 탈퇴하려했으나 내 상황의 경우 전체 사용자가 테이블에서 삭제 된 이유는 무엇입니까, 제발, 아무도 문제를 해결할 수 있습니다 여기에 ??
편집 : 또한 UnmappedInstanceError: Class '__builtin__.int' is not mapped
db.session 과 :
UnmappedInstanceError: Class '__builtin__.int' is not mapped
내가 쿼리에서 CLIENT_ID을 삭제하고 바로 USER_ID를 삭제하려고하면, 난이 오류가 발생합니다. 삭제 (user_id) 명령! . 당신은 당신이 SQLAlchemy의의 힘을 활용하기 위해이 많이 단순화 할 수 flask-sqlalchemy를 사용하는 경우
def unsubscriber(self, user_id):
select_subscribers = subscribers.select(
db.and_(
subscribers.c.user_id == user_id,
subscribers.c.client_id == self.id
)
)
rs = db.engine.execute(select_subscribers)
return False if rs.rowcount == 0 else db.session.delete(user_id),
db.session.commit()
오, 예, 엔진이 응용 프로그램에서 둘 이상의 데이터베이스를 사용하는 경우 효과적이라고 생각합니다. 감사합니다. :) – reznov11
필자는 내 모델 정의에서'__bind_key__'를 사용하여 여러 데이터베이스를 관리합니다 : [** 다중 바인딩 데이터베이스 **] (http://flask-sqlalchemy.pocoo.org/2.1/binds/#binds) – abigperson