I am trying to use a filter to query, but for some reason, filtering does not seem to work. For example, if I run the command:
Curriculum_Version.query.filter(Course.course_code == 'PIP-001').all()
I get the same results as when I started:
Curriculum_Version.query.filter(Course.course_code == 'FEWD-001').all()
(Both returns):
[#1 Version Number: 1, Date Implemented: 2013-07-23 00:00:00, #2 Version Number: 2, Date Implemented: 2013-07-24 00:00:00]
If I run:
Curriculum_Version.query.get(1).course
I get:
from main import app, db from flask import Flask, request, g, redirect, url_for from flaskext.auth import Auth, AuthUser, login_required, get_current_user_data from flaskext.auth.models.sa import get_user_class import datetime from flask.ext.sqlalchemy import SQLAlchemy import pdb class User(db.Model, AuthUser): __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) tf_login = db.Column(db.String(255), unique=True, nullable=False)
How do I create a database entry for Curriculum_Versions:
def update_courses(): course_code = request.form['course_code'] start_date = request.form['start_date'] course_date = datetime.strptime(start_date, '%m/%d/%Y') curr_version = Curriculum_Version.query.filter(Course.course_code == course_code) \ .order_by(desc('version_number')).first() if curr_version is None: next_version = 1 else: next_version = int(curr_version.version_number)+1 existing = Curriculum_Version.query.filter(Course.course_code == course_code) \ .filter(Curriculum_Version.date_implemented == course_date) if len(existing.all()) > 0: return "You tried to make version %d of the curriculum, but version \ %s of the curriculum already exists for %s for class %s." \ %(next_version, existing.first().version_number, start_date, course_code) course_object = Course.query.filter(Course.course_code == course_code).first() if course_object is None: return "The course %s does not yet exist!" % (course_code) new_version = Curriculum_Version(version_number=next_version, date_implemented=course_date, course=course_object) db.session.add(new_version) db.session.commit() return 'Created version %d for course %s starting on %s.' \ %(next_version, course_code, start_date)