Sep-19-2019, 07:12 AM
already since 1 week I try to build a simple CRUD RESTful API without success. So when I create/(test) user and post in the cmd I can list them (User.query.all()) but when I try to get all users via my function get_all_users() I get this error: TypeError: 'Engine' object is not callable
Here's my user data model.
I get this error message : TypeError: 'Engine' object is not callable // Tool Debugger
Thank you for your help
B. regards
Karl
Here's my user data model.
#modules importieren # Create Flask app app = Flask(__name__) # Flask-SQLAlchemy settings app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' # File-based SQL database app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # Avoids SQLAlchemy warning # Initialize Flask-SQLAlchemy db = SQLAlchemy(app) # Initialize Flask-API api = Api(app) # Import routes from webapp import routesmodels.py
class User(db.Model, UserMixin):
# __tablename__ = 'user' (habe auch damit versucht aber ändert sich nicht)
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
password = db.Column(db.String(60), nullable=False)
posts = db.relationship('Post', backref='author', lazy=True)
def __repr__(self):
return f"User('{self.username}', '{self.email}', '{self.image_file}')"in routes.py@app.route('/api/users/', methods = ['GET'])
def get_all_user():
engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI'])
conn = engine.connect()
#metadata = db.Metadata()
user = db.engine('user', autoload=True, autoload_with=engine, engine_options=None)
req = db.select([user])
result = conn.execute(req)
row_result = result.query.all()
return jsonify(row_result)
conn.close()in Postman with the URL : http://127.0.0.1:5000/api/users/I get this error message : TypeError: 'Engine' object is not callable // Tool Debugger
Thank you for your help
B. regards
Karl
