SQLAlchemy & Postgresql
Buddy Peacock
buddy.peacock at gmail.com
Thu May 28 14:30:39 EDT 2020
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.python at 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.peacock at 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
>>
>
More information about the Python-list
mailing list