Yes, after commenting out all flask related lines and then running the print, I do see all the authors.
Al (Buddy) Peacock, PMP, MCCT, ITILv3, SMC, CSM, SPOC (920) 740-3411 linkedin.com/in/buddypeacock <https://www.linkedin.com/in/buddypeacock/> On Thu, May 28, 2020 at 3:48 PM Abdur-Rahmaan Janhangeer < arj.pyt...@gmail.com> wrote: > You tried > > for isbn, title, author, year in reader: > > without flask, do you actually see a value for author? > > > > Like using a normal print > > Kind Regards, > > > Abdur-Rahmaan Janhangeer > > https://www.github.com/Abdur-RahmaanJ > > Mauritius > > sent from gmail client on Android, that's why the signature is so ugly. > > On Thu, 28 May 2020, 23:31 Buddy Peacock, <buddy.peac...@gmail.com> wrote: > >> Thanks for your response Abdur-Rahmaan, >> >> The tables already exist and I have tried both "name = author" and "name >> = :author" >> >> Regards, >> >> Al (Buddy) Peacock, PMP, MCCT, ITILv3, SMC, CSM, SPOC >> (920) 740-3411 >> linkedin.com/in/buddypeacock <https://www.linkedin.com/in/buddypeacock/> >> >> >> >> >> On Thu, May 28, 2020 at 2:44 PM Abdur-Rahmaan Janhangeer < >> arj.pyt...@gmail.com> wrote: >> >>> Well, >>> >>> >>> See >>> >>> for isbn, title, author, year in reader: >>> if db.execute("SELECT * FROM authors WHERE name = :author", >>> {"name": author}).rowcount == 0: >>> db.execute("INSERT INTO authors (name) VALUES (author)") >>> >>> but i don't see any code for creating the authors table >>> >>> also did you mean "name = author" instead of "name = :author" >>> >>> 3rd thing is that since you are using SQLALchemy, you should not be >>> using >>> pure SQL >>> >>> What i mean by models is something like this: >>> https://github.com/Abdur-rahmaanJ/shopyo/blob/dev/shopyo/modules/product/models.py >>> >>> where you define code and your table is created the link uses >>> flask-sqlalchemy but pure sqlalchemy should >>> be somewhat similar >>> >>> 4th thing: when using >>> >>> for isbn, title, author, year in reader: >>> >>> without flask, do you actually see a value for author? >>> >>> Kind Regards, >>> >>> Abdur-Rahmaan Janhangeer >>> compileralchemy <https://compileralchemy.github.io/> | blog >>> <https://abdur-rahmaanj.github.io/> >>> github <https://github.com/Abdur-RahmaanJ> >>> Mauritius >>> >>> >>> On Thu, May 28, 2020 at 10:31 PM Buddy Peacock <buddy.peac...@gmail.com> >>> wrote: >>> >>>> I'm not sure what you mean by models? Am I missing something in my >>>> environment perhaps? >>>> >>>> Al (Buddy) Peacock, PMP, MCCT, ITILv3, SMC, CSM, SPOC >>>> (920) 740-3411 >>>> linkedin.com/in/buddypeacock >>>> <https://www.linkedin.com/in/buddypeacock/> >>>> >>>> >>>> >>>> >>>> On Thu, May 28, 2020 at 2:26 PM Abdur-Rahmaan Janhangeer < >>>> arj.pyt...@gmail.com> wrote: >>>> >>>>> Greetings, >>>>> >>>>> >>>>> where did you define your models? >>>>> >>>>> Kind Regards, >>>>> >>>>> >>>>> Abdur-Rahmaan Janhangeer >>>>> >>>>> https://www.github.com/Abdur-RahmaanJ >>>>> >>>>> Mauritius >>>>> >>>>> sent from gmail client on Android, that's why the signature is so ugly. >>>>> >>>>> On Thu, 28 May 2020, 22:22 Buddy Peacock, <buddy.peac...@gmail.com> >>>>> wrote: >>>>> >>>>>> Hello group, >>>>>> I have a pretty good background in MySQL & MSSQL as well as VB & Php, >>>>>> but I >>>>>> am new to Python and Postgresql. >>>>>> >>>>>> I am taking a class and working on a project to insert authors and >>>>>> books >>>>>> into a table. My code for this is: >>>>>> =============================================================== >>>>>> import csv >>>>>> import os >>>>>> >>>>>> from flask import Flask >>>>>> from sqlalchemy import create_engine >>>>>> from sqlalchemy.orm import scoped_session, sessionmaker >>>>>> >>>>>> app = Flask(__name__) >>>>>> >>>>>> # Configure session to use filesystem >>>>>> app.config["SESSION_PERMANENT"] = False >>>>>> app.config["SESSION_TYPE"] = "filesystem" >>>>>> # Session(app) >>>>>> >>>>>> # Set up database >>>>>> engine = create_engine(os.getenv("DATABASE_URL")) >>>>>> db = scoped_session(sessionmaker(bind=engine)) >>>>>> >>>>>> print (os.getenv("DATABASE_URL")) >>>>>> >>>>>> def main(): >>>>>> f = open("books.csv") >>>>>> reader = csv.reader(f) >>>>>> for isbn, title, author, year in reader: >>>>>> if db.execute("SELECT * FROM authors WHERE name = :author", >>>>>> {"name": author}).rowcount == 0: >>>>>> db.execute("INSERT INTO authors (name) VALUES (author)") >>>>>> >>>>>> print(f" {author} was read.") >>>>>> db.commit() >>>>>> >>>>>> if __name__ == "__main__": >>>>>> main() >>>>>> ==================================================================== >>>>>> If I comment out the "if" statement then the authors all print on >>>>>> screen. >>>>>> But when I run this with the if statement I am getting a message that >>>>>> says: >>>>>> ssqlalchemy.exc.StatementError: (sqlalchemy.exc.InvalidRequestError) A >>>>>> value is required for bind parameter 'author' >>>>>> [SQL: SELECT * FROM authors WHERE name = %(author)s] >>>>>> [parameters: [{'name': 'author'}]] >>>>>> >>>>>> What am I missing? >>>>>> >>>>>> >>>>>> Al (Buddy) Peacock, PMP, MCCT, ITILv3, SMC, CSM, SPOC >>>>>> (920) 740-3411 >>>>>> linkedin.com/in/buddypeacock < >>>>>> https://www.linkedin.com/in/buddypeacock/> >>>>>> -- >>>>>> https://mail.python.org/mailman/listinfo/python-list >>>>>> >>>>> -- https://mail.python.org/mailman/listinfo/python-list