Peewee Database Query Generator

  • Share this:

Code introduction


This function generates different Peewee database queries based on the provided query_type parameter. Supported query types include select, filter, order, update, and delete.


Technology Stack : Peewee

Code Type : Function

Code Difficulty : Intermediate


                
                    
def generate_random_user_query(query_type):
    from peewee import *

    # Define the database
    database = SqliteDatabase('my_database.db')

    # Define the User model
    class User(Model):
        username = CharField()
        email = CharField()
        age = IntegerField()

        class Meta:
            database = database

    # Create the database and tables
    database.connect()
    database.create_tables([User])

    # Function to generate a random query based on the query_type
    def random_query_generator(query_type):
        if query_type == 'select':
            return User.select()
        elif query_type == 'filter':
            return User.filter(age__gt=25)
        elif query_type == 'order':
            return User.select().order_by(User.username)
        elif query_type == 'update':
            return User.update(age=age+1).where(User.age__lt=30)
        elif query_type == 'delete':
            return User.delete().where(User.username == 'test_user')
        else:
            return None

    # Generate a random query
    query = random_query_generator(query_type)
    return query                
              
Tags: