You can download this code by clicking the button below.
This code is now available for download.
This code defines a Python function based on Flask-SQLAlchemy that performs operations on a user table, including creating, getting, updating, and deleting users. The function randomly selects an operation to perform.
Technology Stack : Flask-SQLAlchemy, SQLAlchemy, Flask, SQLite
Code Type : Python Function
Code Difficulty : Intermediate
from flask_sqlalchemy import SQLAlchemy, Column, Integer, String, create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import random
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String)
email = Column(String)
def create_user_table():
engine = create_engine('sqlite:///users.db')
Base.metadata.create_all(engine)
def add_user(username, email):
session = Session()
new_user = User(username=username, email=email)
session.add(new_user)
session.commit()
def get_user_by_email(email):
session = Session()
user = session.query(User).filter_by(email=email).first()
return user
def update_user_email(user_id, new_email):
session = Session()
user = session.query(User).get(user_id)
user.email = new_email
session.commit()
def delete_user(user_id):
session = Session()
user = session.query(User).get(user_id)
session.delete(user)
session.commit()
def random_user_action():
actions = {
'create': add_user,
'get': get_user_by_email,
'update': update_user_email,
'delete': delete_user
}
selected_action = random.choice(list(actions.keys()))
if selected_action == 'create':
actions[selected_action]('JohnDoe', 'johndoe@example.com')
elif selected_action == 'get':
actions[selected_action]('johndoe@example.com')
elif selected_action == 'update':
actions[selected_action](1, 'newjohndoe@example.com')
elif selected_action == 'delete':
actions[selected_action](1)