質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

SQLAlchemy

SQLAlchemyとはPython 用のORMライブラリです。MIT Licenceのオープンソースとして提供されています。

解決済

FlaskとSQLAlchemyに関する質問

sakura.k
sakura.k

総合スコア45

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

SQLAlchemy

SQLAlchemyとはPython 用のORMライブラリです。MIT Licenceのオープンソースとして提供されています。

1回答

0リアクション

0クリップ

166閲覧

投稿2022/10/04 09:53

現在Flaskでアプリを作っており、DBにおいてエラーが発生したため質問させて頂きます。

FlaskSQLAlchemyを使っており、以下のようなエラーが発生しました。

IntegrityError
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL constraint failed: problem.score
[SQL: INSERT INTO problem (use_id, original, babi, created_at, time, length, score) VALUES (?, ?, ?, ?, ?, ?, ?)]
[parameters: (0, '吾輩は何というものを吹く。', 'わばがばはばいびはばなばんぶとぼいびうぶもぼのぼをぼふぶくぶ。', '2022-10-04 17:44:17.968551', None, 16, None)]
(Background on this error at: https://sqlalche.me/e/14/gkpj)

以下のdb.session.commit()においてエラーが発生しているため、上手くDBに保存できていないと考えられる。
problem=Problem(use_id=use_id,original=original,babi=babi,length=length)
db.session.add(problem)
db.session.commit()

また、DBにおける現状のコードは以下のようになります。

class Problem(db.Model): id = db.Column(db.Integer, primary_key=True) use_id=db.Column(db.Integer,nullable=False) original=db.Column(db.String, nullable=False) babi=db.Column(db.String, nullable=False) created_at = db.Column(db.DateTime, nullable=False, default=datetime.now(pytz.timezone('Asia/Tokyo'))) time=db.Column(db.Integer) length=db.Column(db.Integer,nullable=False) score=db.Column(db.Integer)

また、補足をします。一度いくつかのカラムにおいて、nullableやデータの型を変更しました。もしかすると、変更が反映されていないかもしれないです。もしそれが問題であれば、その解決法もお教えいただきたいです。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

SQLAlchemy

SQLAlchemyとはPython 用のORMライブラリです。MIT Licenceのオープンソースとして提供されています。