From 1db94434d5d3c849b9e85046e3a3318f1c87f112 Mon Sep 17 00:00:00 2001 From: Damien De Paoli Date: Sun, 2 Jul 2023 10:45:17 +1000 Subject: [PATCH] convert over to classes for all DB tables, it was just my lack of understanding when I first used sqlalchemy --- main.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index b18f158..94d1456 100644 --- a/main.py +++ b/main.py @@ -81,10 +81,10 @@ class QuickParentBook: return "".format(self.parent, self.publisher, self.owned, self.covertype, self.condition, self.blurb ) -book_genre_link = db.Table('book_genre_link', db.Model.metadata, - db.Column('book_id', db.Integer, db.ForeignKey('book.id')), - db.Column('genre_id', db.Integer, db.ForeignKey('genre.id')) -) +class Book_Genre_Link(db.Model): + __tablename__ = "book_genre_link" + book_id = db.Column( db.Integer, db.ForeignKey('book.id'), primary_key=True) + genre_id = db.Column( db.Integer, db.ForeignKey('genre.id'), primary_key=True) class Book_Author_Link(db.Model): __tablename__ = "book_author_link" @@ -135,7 +135,7 @@ class Book(db.Model): id = db.Column(db.Integer, db.Sequence('book_id_seq'), primary_key=True ) title = db.Column(db.String(100), unique=True, nullable=False) publisher = db.Column(db.Integer, db.ForeignKey('publisher.id')) - genre = db.relationship('Genre', secondary=book_genre_link ) + genre = db.relationship('Genre', secondary=Book_Genre_Link.__table__ ) loan = db.relationship('Loan', secondary=Book_Loan_Link.__table__); series = db.relationship('Series', secondary=Book_Series_Link.__table__); bsl = db.relationship('Book_Series_Link', overlaps="series" ) @@ -601,7 +601,7 @@ def new_book(): form.blurb.default = book.blurb form.process() return render_template("book.html", page_title='Create new (sub) Book', b=bb, books=None, book_form=form, author_list=author_list, genre_list=genre_list, alert="", message="", poss_series_list=ListOfSeriesWithMissingBooks() ) - elif form.validate_on_submit() and len(book_genres): + elif form.validate() and len(book_genres): if request.form['year_published'].isnumeric(): book = Book( title=request.form['title'], owned=request.form['owned'], covertype=request.form['covertype'], condition=request.form['condition'], publisher=request.form['publisher'], year_published=request.form['year_published'], rating=request.form['rating'], notes=request.form['notes'], blurb=request.form['blurb'], genre=book_genres, bals=bals ) else: