آموزش فیلترها در Peewee
آموزش فیلترها در Peewee
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش فیلترها در Peewee خواهیم پرداخت.
پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون
با استفاده از بند where می توان داده ها را از جدول SQLite بازیابی کرد. Peewee از لیست زیر عملگرهای منطقی پشتیبانی می کند.
== | x برابر y است |
< | x کمتر از y است |
<= | x کمتر یا مساوی y است |
> | x بزرگتر از y است |
>= | x بزرگتر یا مساوی y است |
!= | x برابر y نیست |
<< | x IN y ، جایی که y یک لیست یا کوئری است |
>> | x IS y است ، جایی که None/NULL y است |
% | x مثل y جایی که ممکن است y دارای حروف بزرگ باشد |
** | x مانند y جایی که ممکن است y دارای حروف بزرگ باشد |
^ | x XOR y |
~ | Unary negation (e.g., NOT x) |
کد زیر نام را با age>=20 نشان می دهد:
1 2 3 |
rows=User.select().where (User.age>=20) for row in rows: print ("name: {} age: {}".format(row.name, row.age)) |
کد زیر فقط نامهای موجود در لیست اسامی را نمایش می دهد.
1 2 3 4 |
names=['Anil', 'Amar', 'Kiran', 'Bala'] rows=User.select().where (User.name << names) for row in rows: print ("name: {} age: {}".format(row.name, row.age)) |
کوئری SELECT که توسط Peewee ایجاد می شود –
1 2 |
'SELECT "t1"."id", "t1"."name", "t1"."age" FROM "User" AS "t1" WHERE ("t1"."name" IN (?, ?, ?, ?))', ['Anil', 'Amar', 'Kiran', 'Bala']) |
خروجی حاصل به شرح زیر خواهد بود –
1 2 |
name: Amar age: 20 name: Kiran age: 19 |
روشهای فیلترینگ در Peewee
علاوه بر عملگرهای منطقی فوق که در پایتون اصلی تعریف شده اند، Peewee روشهای زیر را برای فیلتر کردن ارائه می دهد –
متد و توضیحات | |
---|---|
1 | .in_(value)
در جستجو (یکسان به <<). |
2 | .not_in(value)
در جستجو نیست |
3 | .is_null(is_null)
NULL است یا NULL نیست. پارام بولی را می پذیرد. |
4 | .contains(substr)
جستجوی Wild-card برای زیر رشته |
5 | .startswith(prefix)
مقادیری را که با پیشوند شروع می شوند جستجو کنید. |
6 | .endswith(suffix)
مقادیری را که با پسوند پایان می یابد جستجو کنید. |
7 | .between(low, high)
مقادیر بین کم و زیاد را جستجو کنید. |
8 | .regexp(exp)
مطابقت عادی (حساس به حروف). |
9 | .iregexp(exp)
مطابقت عادی (بدون حروف کوچک و بزرگ). |
10 | .bin_and(value)
Binary AND. |
11 | .bin_or(value)
Binary OR. |
12 | .concat(other)
با استفاده از || دو رشته یا شی را به هم متصل کنید. |
13 | .distinct()
علامت گذاری ستون برای انتخاب DISTINCT. |
14 | .collate(collation)
ستون را با مجموعه داده شده مشخص کنید. |
15 | .cast(type)
مقدار ستون را به نوع داده شده ارسال کنید. |
به عنوان نمونه ای از روش های بالا، کد زیر را مشاهده کنید. این نامها را با “R” شروع می کند یا با “r” به پایان می رساند.
1 |
rows=User.select().where (User.name.startswith('R') | User.name.endswith('r')) |
کوئری معادل SQL SELECT عبارت است از:
1 2 |
('SELECT "t1"."id", "t1"."name", "t1"."age" FROM "User" AS "t1" WHERE (("t1"."name" LIKE ?) OR ("t1"."name" LIKE ?))', ['R%', '%r']) |
جایگزین های Peewee
عملگرهای داخلی پایتون in, not in, and, or یا غیره کار نمی کنند. در عوض ، از جایگزین های Peewee استفاده کنید.
می توانید استفاده کنید –
- متدهای ()_in. و ()not_in. به جای in و not عملگرها.
- & به جای and.
- | به جایor
- ~ جای not
- ()is_null. به جای is است.
- None یا None==
دیدگاه شما