Flask Database Model Design
I think at least the relationship between Professor and Course is many to many.

courses_professors = db.Table(
    db.Column(db.Integer(), db.ForeignKey("course.id"),
    db.Column(db.Integer(), db.ForeignKey("professor.id"))

class Course(db.Model):
    id = db.Column(db.Integer(), primary_key=1)
    name = db.Column(db.String(128), unique=1)

class Professor(db.Model):
    id = db.Column(db.Integer(), primary_key=1)
    name = db.Column(db.String(64))
    courses = db.relationship("Course", secondary=courses_professor, backref=db.backref("professors")


If the relationship between Professor and College is also many to many, you can also define a association table between them as preceding codes.