Peewee-based User Management with Database Operations

  • Share this:

Code introduction


This code defines a database model using the Peewee library and implements a series of functions to create a database, add users, retrieve users by username, update a user's email, and delete a user by username.


Technology Stack : Peewee

Code Type : The type of code

Code Difficulty : Intermediate


                
                    
from peewee import *
from random import choice

# Create a database instance
db = SqliteDatabase('my_database.db')

# Define a model for a simple table
class User(Model):
    username = CharField()
    email = CharField()

    class Meta:
        database = db

# Function to create a table with Peewee
def create_user_table():
    db.connect()
    db.create_tables([User])
    db.close()

# Function to add a new user to the database
def add_user(username, email):
    new_user = User.create(username=username, email=email)

# Function to retrieve a user by username
def get_user_by_username(username):
    return User.get(User.username == username)

# Function to update a user's email
def update_user_email(username, new_email):
    user = User.get(User.username == username)
    user.email = new_email
    user.save()

# Function to delete a user by username
def delete_user_by_username(username):
    user = User.get(User.username == username)
    user.delete_instance()

# Example usage of the functions
if __name__ == '__main__':
    create_user_table()
    add_user('john_doe', 'john@example.com')
    print(get_user_by_username('john_doe').email)
    update_user_email('john_doe', 'john_new@example.com')
    print(get_user_by_username('john_doe').email)
    delete_user_by_username('john_doe')                
              
Tags: