Hello Simon, thank you for your help. I've also done more research and tests on my side and here are my solution:
1) remove some item from the list - this was quite easy ! items_to_delete=[] # add all the row/item index that I want to delete for idx,p in enumerate(found): if not re.search(regex,(p.ITEMID).casefold()): # search what I want to get rid of items_to_delete.append(idx) #reverse the list so the highest item is first items_to_delete.sort(reverse=True) #delete the row from the list for idx in items_to_delete: del found[idx] 2) was even easier # no need to change my Class, or the db to add the columns for p in found: p.Newcolumn1 = "test1" p.Newcolumn2 = "test2" I hope it will help others ! On Monday, February 21, 2022 at 2:55:42 AM UTC-8 Simon King wrote: > Hi, welcome to Python and SQLAlchemy :-) > > If you want to do some extra filtering on the results, you can iterate > over the results, decide whether each item matches your filter > conditions, and if it does, append it to a new list, something like > this: > > filtered_results = [] > for part in query.all(): > if <your filter conditions go here>: > filtered_results.append(part) > > You can add new properties and methods to your BLPart class. The exact > syntax would depend on how you want to use them. Here's the simplest > example: > > class BLPart(db.Model): > # column definitions etc. > ITEMTYPE = Column(...) > > # Non-db attributes > foreground = "#000" > background = "#fff" > > Now every BLPart instance will have "foreground" and "background" > attributes with those values. > > If you need something more complicated than that, let us know how you > would want to use them. > > Hope that helps, > > Simon > > On Sun, Feb 20, 2022 at 9:37 PM Cp Divers <cpdi...@gmail.com> wrote: > > > > Hello Guys, this is my very first post here. I'm not sure this the the > right place. I'm a week old with Python and SQLAlchemy. And I believe I'm > missing a couple concept, hopefully you can help| > > > > I do have this class > > > > class BLPart(db.Model): > > __tablename__ = 'BL_parts' > > > > ITEMTYPE = Column(String(1, 'utf8mb4_unicode_ci'), nullable=False) > > ITEMID = Column(String(20, 'utf8mb4_unicode_ci'), primary_key=True) > > ITEMDESC = Column(Text(collation='utf8mb4_unicode_ci'), nullable=False, > index=True) > > CATEGORY = Column(ForeignKey('BL_categories.category_id'), > nullable=False, index=True, server_default=text("0")) > > ITEMWEIGHT = Column(String(10, 'utf8mb4_unicode_ci')) > > ITEMDIMX = Column(Float, server_default=text("0")) > > ITEMDIMY = Column(Float, server_default=text("0")) > > ITEMDIMZ = Column(Float, server_default=text("0")) > > In my code python code I got something like this: > > > > if form.validate_onsubmit(): > > search = form.search.data.strip() > > query = db.session.query(BLPart).filter( > > or( > > BLPart.ITEMDESC.contains(search, autoescape=True), > > BLPart.ITEMID.contains(search, autoescape=True) > > ) > > ) > > > > results= query.all() > > print(type(results)) #<class 'list'> > > print(results) #[<BLPart 3005>, <BLPart 30055>, <BLPart 30056>, <BLPart > 3005f1>, <BLPart 3005f2>, <BLPart 3005f3>, <BLPart 3005pb001>, <BLPa > > > > Here are my 2 main questions, > > > > 1) I do have some 'smart' filtering that I would like to do after I get > the results > > Based on that filter I'd like to remove some rows from the results > variables > > > > 2) In my class, I have 8 columns, based on my filtering I want to create > a new 'virtual' column which does not exist in the DB > > Let's say I want to create a Foreground color and a background color > 'column' in the results variable > > How can I achieve this ? > > > > > > -- > > SQLAlchemy - > > The Python SQL Toolkit and Object Relational Mapper > > > > http://www.sqlalchemy.org/ > > > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > > --- > > You received this message because you are subscribed to the Google > Groups "sqlalchemy" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to sqlalchemy+...@googlegroups.com. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/01812940-c02f-4ad4-9a2d-adfdb736a13cn%40googlegroups.com > . > -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/2498c9ae-ccde-40ed-8eba-f3ac45240f86n%40googlegroups.com.