def add_exam(): # Mount exam object posted_exam = ExamSchema(only=('title', 'description')).load(request.get_json()) exam = Exam(**posted_exam.data, created_by = "HTTP post request") # Persist exam session = Session() session.add(exam) session.commit() # Return created exam new_exam = ExamSchema().dump(exam).data session.close() return jsonify(new_exam), 201
def add_exam(): # mount exam object post_exam = ExamSchema(only=('title', 'description'))\ .load(request.get_json()) exam = Exam(**post_exam, created_by='HTTP post request') # Presist exam session = Session() session.add(exam) session.commit() # return created exam new_exam = ExamSchema().dump(exam) session.close() return jsonify(new_exam), 201
from entities.entity import Session, engine, Base from entities.exam import Exam from flask import Flask, jsonify, request # generate database schema Base.metadata.create_all(engine) # start session session = Session() # check for existing data exams = session.query(Exam).all() if len(exams) == 0: # create and persist dummy exam python_exam = Exam("SQLAlchemy Exam", "Test your knowledge about SQLAlchemy.", "script") session.add(python_exam) session.commit() session.close() # reload exams exams = session.query(Exam).all() # show existing exams print('### Exams:') for exam in exams: print(f'({exam.id}) {exam.title} - {exam.description}') ''' Flask stuff~~~~~~~~~~~~~~~~~~~~~ ''' # creating the Flask application
# import Session, engine, and Base from the .entities.entity module. from entities.entity import Base, Session, engine # import the Exam class from the .entities.exam module. from entities.exam import Exam # create database schema Base.metadata.create_all(engine) # start session session = Session() # check for existing data and query all instances of Exam. exams = session.query(Exam).all() if exams == 0: # create and persist dummy exam python_exam = Exam('SQLAlchemy Exam', 'Test your knowledge about SQLAlchemy.', 'script') session.add(python_exam) session.commit() session.close() # reload exams exams = session.query(Exam).all() # Show existing exams print('### Exams: ') # print the exams retrieved from the database. for ex in exams: print('({}). {} - {}'.format(ex.id, ex.title, ex.description))