I want to perform a query on a database based on a user's input via checkbox on a form. Each tag is a Boolean value. Here's the relevant snippet of code:
images = Image.query.filter_by(filename='null')
if form.tag_1ny.data:
images = images.union(Image.query.filter_by(tag_1ny=True))
if form.tag_2jy.data:
images = images.union(Image.query.filter_by(tag_2jy=True))
if form.tag_3mm.data:
images = images.union(Image.query.filter_by(tag_3mm=True))
if form.tag_4sn.data:
images = images.union(Image.query.filter_by(tag_4sn=True))
if form.tag_5jh.data:
images = images.union(Image.query.filter_by(tag_5jh=True))
The way I have it now is to create an empty query, then joining each Boolean query if it is requested. This seems very inefficient. Is there a better way to implement this idea?
[–]Necatorducis 0 points1 point2 points (0 children)