آموزش افزونه های SQLite در Peewee
آموزش افزونه های SQLite در Peewee
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش افزونه های SQLite در Peewee خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
Peewee دارای یک فضای نام Playhouse است. این مجموعه ای از ماژول های مختلف افزونه است. یکی از آنها ماژول playhouse.sqlite_ext است. این عمدتا کلاس SqliteExtDatabase را تعریف می کند که کلاس SqliteDatabase را به ارث می برد ، از ویژگی های اضافی زیر پشتیبانی می کند –
ویژگی های افزونه های SQLite
ویژگی های افزونه های SQLite که توسط Peewee پشتیبانی می شوند به شرح زیر است –
- جستجوی متن کامل
- یکپارچه سازی افزونه JavaScript Object Notation (JSON).
- پشتیبانی از افزونه میز بسته شدن
- پشتیبانی از برنامه افزودنی LSM1
- توابع جدول تعریف شده توسط کاربر.
- پشتیبانی از پشتیبان گیری آنلاین با استفاده از API پشتیبان: backup_to_file ().
- پشتیبانی BLOB API ، برای ذخیره داده های باینری کارآمد.
اگر یک JSONField خاص به عنوان یکی از ویژگی های فیلد اعلام شود ، می توان داده های JSON را ذخیره کرد.
1 2 |
class MyModel(Model): json_data = JSONField(json_dumps=my_json_dumps) |
برای فعال کردن جستجوی متن کامل، مدل می تواند DocIdField را برای تعیین کلید اصلی داشته باشد.
1 2 3 4 5 6 |
class NoteIndex(FTSModel): docid = DocIDField() content = SearchField() class Meta: database = db |
FTSModel یک زیر کلاس از VirtualModel است که در آدرس http://docs.peewee-orm.com/fa/latest/peewee/sqlite_ext.html#VirtualModel قابل استفاده با افزونه های جستجوی متن کامل FTS3 و FTS4 در دسترس است. Sqlite همه انواع ستون را به عنوان TEXT در نظر می گیرد (اگرچه شما می توانید انواع دیگر داده ها را ذخیره کنید ، Sqlite آنها را به عنوان متن در نظر می گیرد).
SearchField یک کلاس Field است که برای ستون های مدلهای نمایان کننده جداول مجازی جستجوی کامل متن استفاده می شود.
SqliteDatabase از AutoField برای افزایش کلید اصلی پشتیبانی می کند. با این حال، SqliteExtDatabase از AutoIncrementField پشتیبانی می کند تا اطمینان حاصل شود که اصلی همیشه بدون توجه به حذف سطرها یکنواخت افزایش می یابد.
ماژول SqliteQ در فضای نام خانه playhouse (playhouse.sqliteq) زیر کلاس SqliteExeDatabase را تعریف می کند تا نوشتارهای همزمان سریالی را در پایگاه داده SQlite انجام دهد.
از سوی دیگر ماژول playhouse.apsw از درایور apsw sqlite پشتیبانی می کند. یکی دیگر از Python SQLite Wrapper (APSW) سریع است و می تواند معاملات تو در تو را انجام دهد ، که به صراحت توسط کد شما مدیریت می شود.
1 2 3 4 5 6 7 8 9 10 |
from apsw_ext import * db = APSWDatabase('testdb') class BaseModel(Model): class Meta: database = db class MyModel(BaseModel): field1 = CharField() field2 = DateTimeField() |
لیست جلسات قبل آموزش Peeweee
- آموزش Peeweee
- آموزش مقدماتی Peeweee
- آموزش کلاس پایگاه داده در Peeweee
- آموزش کلاس مدل در Peeweee
- آموزش کلاس Field در Peewee
- آموزش ایجاد یک رکورد جدید در Peewee
- آموزش انتخاب رکورد در Peewee
- آموزش فیلترها در Peewee
- آموزش کلیدهای اولیه و کامپوزیت در Peewee
- آموزش به روزرسانی رکوردهای موجود در Peewee
- آموزش حذف رکوردها در Peewee
- آموزش ایجاد ایندکس در Peewee
- آموزش محدودیت ها در Peewee
- آموزش استفاده از MySQL در Peewee
- آموزش استفاده از PostgreSQL در Peewee
- آموزش تعریف پایگاه داده به صورت پویا در Peewee
- آموزش مدیریت اتصال در Peewee
- آموزش روابط و پیوستن در Peewee
- آموزش subquery در Peewee
- آموزش مرتب سازی در Peewee
- آموزش شمارش در Peewee
- آموزش توابع SQL در Peewee
- آموزش بازیابی ردیف تاپل در Peewee
- آموزش اپراتورهای تعریف شده توسط کاربر در Peewee
- آموزش تراکنش اتمی در Peewee
- آموزش خطاهای پایگاه داده در Peewee
- آموزش سازنده کوئری در Peewee
- آموزش ادغام با چارچوب های وب در Peewee
دیدگاه شما