در مبحث ORM مدل معادل کلاس هایی است که در پایتون معرفی و برای نگهداری اطلاعات از آنها استفاده می کنیم. هر کدام از این کلاس ها فیلدهایی دارند که معادل ستون های جدول های پایگاه داده خواهند بود و هر یک از ردیف های جدول یک از شی از این مدل را معرفی می کنند. پس هر جدول معادل یک کلاس خواهد بود. 


شی پایگاه داده ای که با استفاده از Flask-SQLAlchemy ایجاد کردیم یک کلاس پایه و چندین و چند تابع کمکی برای مدل های ما معرفی کرده است. به طور مثال اگر همان سیستم مدیریت سفارش مشتری آموزش های قبل را در نظر بگیرید برای کاربر و نقش کاربر باید دو مدل تعریف کنیم. مثال زیر را در نظر بگیرید. 


 


متغییر __tablename__ درون هر یک از مدل ها نام جدول مربوط به آن را مشخص می کند، البته اگر این متغییر را مقداردهی نکنید به صورت پیش فرض مقدار دهی خواهد شد. بقیه ی متغییرهایی که درون کلاس معرفی کرده ایم به عنوان شی از کلاس db.Column گرفته شده اند. اولین پارامتری که به سازنده ی db.Column پاس می دهیم نوع متغییری است که در حال معرفی آن می باشیم. لیست نوع متغییرهایی که با استفاده از این کلاس می توان ایجاد کرد، عبارت است از :‌


به جز این پارامتر ما می توانیم پارامترهای دیگری را نیز به سازنده ی این کلاس پاس دهیم که تنظیماتی را روی این شی اعمال می کند. لیست پارامترهایی که برای تنظیمات می توانیم از آنها استفاده کنیم عبارت است از :‌

 


با استفاده از متد __repr__() می توان یک نمایش خوانا از اجزای کلاس ایجاد کرد که برای رفع خطا و تست کردن اپلیکیشن مفید می باشد. ( استفاده از این متد الزامی نمی باشد. )