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