I am making a project on python flask when I created a database with sqlite the database is created and the value is inserted in that but when I restarted my project and try to insert the values in the database through python console like
from app import db
from app import Credentials as C
c= C(fname="John", lname="Doe", username="johndoe", email="[email protected]", password="11111111")
I got an error like this
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<string>", line 4, in __init__
File "C:\Users\Lenovo\PycharmProjects\FlaskProject\venv\lib\site-packages\sqlalchemy\orm\state.py", line 417, in _initialize_instance
manager.dispatch.init_failure(self, args, kwargs)
File "C:\Users\Lenovo\PycharmProjects\FlaskProject\venv\lib\site-packages\sqlalchemy\util\langhelpers.py", line 66, in __exit__
compat.reraise(exc_type, exc_value, exc_tb)
File "C:\Users\Lenovo\PycharmProjects\FlaskProject\venv\lib\site-packages\sqlalchemy\util\compat.py", line 249, in reraise
raise value
File "C:\Users\Lenovo\PycharmProjects\FlaskProject\venv\lib\site-packages\sqlalchemy\orm\state.py", line 414, in _initialize_instance
return manager.original_init(*mixed[1:], **kwargs)
File "C:\Users\Lenovo\PycharmProjects\FlaskProject\venv\lib\site-packages\sqlalchemy\ext\declarative\base.py", line 700, in _declarative_constructor
setattr(self, k, kwargs[k])
AttributeError: can't set attribute
Help me to solve the error I am using all the latest versions of libraries
Here is my model definition:
class Credentials(db.Model):
id = db.Column(db.Integer, primary_key=True)
fname = db.Column(db.String(32), nullable=False)
lname = db.Column(db.String(32))
username = db.Column(db.String(16), unique=True, nullable=False)
email = db.Column(db.String(64), unique=True, nullable=False)
password = db.Column(db.String(100))
date_created = db.Column(db.DateTime, default=datetime.utcnow)
@property
def password(self):
raise AttributeError('password is not a readable attribute')
def __repr__(self):
return f"Users('{self.fname}','{self.email}','{self.username}')"
Credentials, which you haven't shared.{}button on the editor toolbar to format those lines in one step.