2016-04-26 5 views
0

これは私がユーザレコードDBモデルの名前のタプルとsqlalchemy.exc.IntegrityError

{ 
"id":164, 
"login_id": "abc", 
"accountid": "1234", 
"project_id": "1", 
"status":"Active" 
} 

を更新するには、次のデータを送信しようとしていたユーザテーブルhttps://gist.github.com/flamingo0208/d888a2ca03a426a231de172599ec11b4

用のDBモデルと私の要旨でありますしかし、私は

sqlalchemy.exc.IntegrityError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.IntegrityError) constraint status_type failed [SQL: 'UPDATE users SET status=?, project_id=? WHERE users.id = ?'] [parameters: ('Inactive', '1', 164) 

status_typeが.Whyは私が有効なステータスフィールドを与えている、このエラーが発生します(要旨コード内)という名前のタプルからで入手しますか?

答えて

0

更新フィールドとしてプライマリキーを配置することはできません。 "ABC"、 "accountIdを": "1234"、 "PROJECT_ID" そう

session.query(ユーザ).filter(User.id == 164).update({ "LOGIN_ID" のようなクエリを記述します。 1、 "状態": "アクティブ" })

+0

私は '{: "ABC"、 "accountIdを": "1234"、 "PROJECT_ID": "1"、 "ステータス": "LOGIN_ID" "アクティブ" }使用してみました'をまだ私が取得します同じエラー。私は何かが "ステータス"フィールドで間違っていると思います – aaj

0

OK私のユーザーのテーブル定義があるので、私は "アクティブ" の代わりに「ACTIVE合格しようとしていたとして、この制約チェックが失敗していたの

CONSTRAINT status_type CHECK (status IN ('ACTIVE', 'DISABLED') 

を持っていました"

関連する問題