Flaskを学習して間もない初心者です。
よろしくお願いします。
今やりたい事は
Flask-SQLAlchemyでemployeeの情報を追加する際に
追加できないので教えて欲しいです。
db.session.add()
db.session.commit()
で追加DBに反映できるのはわかりましたが、
実際にDBには反映されていないです。
app.py
from flask import Flask, jsonify, request from flask_sqlalchemy import SQLAlchemy from sqlalchemy.orm import Session import sqlalchemy.orm app = Flask(__name__) app.config["SQLALCHEMY_DATABASE_URI"] = 'mysql://{user}:{password}@{host}/sample_db?charset=utf8' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) @app.route('/employee', methods=['POST']) def add_employee_info(): employee = Employee() employee.id = 'id', employee.name = 'name', employee.mail = 'mail', employee.telephone = 'telephone' employee = Employee() db.session.add(employee) db.session.commit() return json.dumps(employee), 201
models.py
from datetime import datetime from database import db id = db.Column(db.Integer(), nullable=False, primary_key=True, autoincrement=True, unique=True, comment="ID") name = db.Column(db.String(255), nullable=False) mail = db.Column(db.String(255), nullable=True) telephone = db.Column(db.String(13), nullable=True)
現在出ているエラー
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1048, "Column 'name' cannot be null")
init_app() missing 1 required positional argument: 'app'
色々調べましたが、上手くいきません。
どなたか解決できる方、ご教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/23 08:47 編集