0
from flask import Flask,jsonify
from flask_sqlalchemy import SQLAlchemy
import os
import jsonpickle

app = Flask(__name__)

# the name of the database; add path if necessary
db_name = 'student.db'

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + db_name

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True

# this variable, db, will be used for all SQLAlchemy commands
db = SQLAlchemy()
db.init_app(app)


# Import each table from model.py to app.py so that Flask can run

from models.model import Student
from models.model import Tutor

with app.app_context():
    db.create_all()

@app.route('/', methods = ['GET'])
def tefetchLessonsByTutorst():
    
    tutor = Tutor.query.all()
    
    return  jsonpickle.encode(tutor,unpicklable=False)


I am trying to get a response in json format but I encountered an error using jsonify. Then I used jsonpickle and now my request is working.

I am trying to get my response as below

{ "tutor_category": "Computer_Science", "tutor_forename": "John", "tutor_surname": "Pattrision", "tutor_email": "jp@ac.uk", "tutor_id": 1, "module_id": "CS101" }

My response:

[{"sa_instance_state": {"instance": null, "class": {"py/type": "models.model.Tutor"}, "committed_state": {}, "expired_attributes": [], "key": [{"py/type": "models.model.Tutor"}, [1, "SWE101"], null], "load_options": [], "load_path": [[{"py/type": "models.model.Tutor"}, null]], "manager": {"class_": {"py/type": "models.model.Tutor"}}}, "tutor_category": "Computer_Science", "tutor_forename": "John", "tutor_surname": "Pattrision", "tutor_email": "jp@ac.uk", "tutor_id": 1, "module_id": "SWE101"}]

How can I make my response more clear?

Randi
  • 61
  • 7

0 Answers0