FastaAPI's CRUD project generator for SQLALchemy.
Project description
Fastapi CRUD Project Generator
Quick Start
Prepare your Sqlalchemy schema
from sqlalchemy import *
from sqlalchemy.orm import declarative_base
Base = declarative_base()
metadata = Base.metadata
class SampleTable(Base):
__tablename__ = 'test_build_myself_memory'
__table_args__ = (
UniqueConstraint('primary_key', 'int4_value', 'float4_value'),
)
primary_key = Column(Integer, primary_key=True, autoincrement=True)
bool_value = Column(Boolean, nullable=False, default=False)
bytea_value = Column(LargeBinary)
char_value = Column(CHAR(10, collation='NOCASE'))
date_value = Column(Date)
float4_value = Column(Float, nullable=False)
float8_value = Column(Float(53), nullable=False, default=10.10)
int2_value = Column(SmallInteger, nullable=False)
int4_value = Column(Integer, nullable=False)
int8_value = Column(BigInteger, default=99)
text_value = Column(Text)
time_value = Column(Time)
timestamp_value = Column(DateTime)
timestamptz_value = Column(DateTime(True))
timetz_value = Column(Time(True))
varchar_value = Column(String)
class SampleTableTwo(Base):
primary_key_of_table = "primary_key"
unique_fields = ['primary_key']
__tablename__ = 'test_build_myself_memory_two'
__table_args__ = (
UniqueConstraint('primary_key'),
)
primary_key = Column(Integer, primary_key=True, autoincrement=True)
bool_value = Column(Boolean, nullable=False, default=False)
bytea_value = Column(LargeBinary)
Use crud_router_builder()
to generate the project from the executing folder (using in-memory sqlite db here)
from fastapi_quickcrud_codegen import crud_router_builder, CrudMethods
crud_router_builder(
db_model_list=[
{
"db_model": SampleTable,
"prefix": "/my_first_api",
"tags": ["sample api"]
},
{
"db_model": SampleTableTwo,
"prefix": "/my_second_api",
"tags": ["sample api"]
}
],
exclude_columns=['bytea_value', 'xml_value', 'box_valaue'],
crud_methods=[CrudMethods.FIND_ONE, CrudMethods.FIND_MANY, CrudMethods.CREATE_ONE, CrudMethods.UPDATE_MANY, CrudMethods.PATCH_MANY, CrudMethods.PATCH_ONE],
#is_async=True,
#database_url="sqlite+aiosqlite://",
is_async=False,
database_url="sqlite://"
)
Supportting
This project will generate CRUD code from you Sqlalchemy model. Which supports following api:
- Get one
- Get many
- Insert one
- Insert many
- Update one
- Update many
- Patch one
- Patch many
- Delete one
- Delete many
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for fastapi-crud-code-generator-0.0.1b1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 470ba796072f8f1bd554d9656f175953c3b833134a6fcb5a91b7084abb1e2523 |
|
MD5 | 5c4bfbaecb199a7e3f08ba1e2c6199b5 |
|
BLAKE2b-256 | 36a01bf20fbbf6a7b38483c76993abb196aa157ffbbae43d7df3726e396158d2 |