

sqlalchemyを利用してsqliteへデーターを追加したのですが、  
一部のデーター（ここでは、password_hash）だけが、追加されず、nullとなってしまいます。  
自分でも、見直しを行っておりますが、間違いが見つからない状況です。

間違い等ご指摘、アドバイスいただければと思います。

[code]

    # app.py
    
    import os
    from flask import Flask
    from flask_sqlalchemy import SQLAlchemy
     
    app = Flask(__name__)
     
    app.config['SECRET_KEY'] = 'mysecretkey'
     
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///data.sqlite'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
     
    db = SQLAlchemy(app)
     
    class User(db.Model):
        __tablename__ = 'users'
     
        id = db.Column(db.Integer, primary_key=True)
        email = db.Column(db.String(64), unique=True, index=True)
        username = db.Column(db.String(64), unique=True, index=True)
        password_hash = db.Column(db.String(128))
     
        def __init__(self, email, username, password_hash):
            self.email = email
            self.username = username
            self.password_hash
        
        def __repr__(self):
            return f"UserName: {self.username}"
     
    if __name__ == '__main__':
        app.run(debug=True)
    
[/code]

[code]

    # init_user.py
    
    from app import db, User
     
    db.create_all()
     
    user1 = User("test_user1@test.com", "Test user1", "111")
    user2 = User("test_user2@test.com", "Test user2", "222")
     
    db.session.add_all([user1, user2])
    db.session.commit()
     
    print(user1.id)
    print(user2.id)
    
    
[/code]

[![画像の説明をここに入力](https://i.stack.imgur.com/8E4Eq.png)](https://i.stack.imgur.com/8E4Eq.png)


CC BY-SA 4.0
2023-02-14T06:55:28.850
93834
2023-02-14T07:05:29.013
question
python database sqlite flask
一部のデーターがDBに登録されない


提示コードでは引数`password_hash`値が代入されていません。  
以下のように修正するとよいでしょう。

[code]

        def __init__(self, email, username, password_hash):
            self.email = email
            self.username = username
            self.password_hash = password_hash # ***
    
[/code]


CC BY-SA 4.0
2023-02-14T07:05:29.013
93835
2023-02-14T07:05:29.013
25830
93834
answer