مرحبًا يا من هناك! كمورد لتصفية Filtering Flask ، كان لدي حصتي العادلة من التجارب مع تطبيقات Flask وقواعد البيانات. تتمثل إحدى المهام الشائعة التي يواجهها المطورون في تصفية سجلات قاعدة البيانات حسب الحالة. في منشور المدونة هذا ، سأشارك بعض النصائح حول كيفية القيام بذلك ، وأعرض عليك أيضًا بعض قوارير التصفية الرائعة التي نقدمها.
فهم أساسيات التصفية في قارورة
أولاً ، دعنا نذهب بسرعة حول كيفية عمل التصفية في تطبيق Flask باستخدام قاعدة بيانات. في معظم الوقت ، نستخدم SQLAlchemy ، وهو نظام أدوات SQL قوي ونظام تعيين الكائنات (ORM) لـ Python. يسمح لنا بالتفاعل مع قواعد البيانات بطريقة أكثر إثارة.
دعنا نقول أن لديك تطبيق قارورة مع جدول قاعدة بيانات اسمهمنتجات. كل منتج لديه ملفحالةالعمود ، الذي يمكن أن يكون له قيم مثلنشيطوغير نشطوON_SALE، وما إلى ذلك لتصفية المنتجات بناءً على حالتها ، يمكنك استخدام أساليب استعلام SQLAlchemy.
إليك مثال بسيط على كيفية تصفية المنتجات معنشيطحالة:
من Flask Import Flask from flask_sqlalchememy import sqlalchemy app = flask (__ name__) app.config ['sqlalchemy_database_uri'] = 'sqlite: ///products.db' db = sqlalchemy (app) product (db.model): id = db.col name = db.column (db.string (100)) الحالة = db.column (db.String (20)) @app.route ('/active_products') def get_active_products (): active_products = product.query.filter_by (status = 'active'). all (). ".
في هذا الرمز ، نحدد أولاً تطبيق Flask الخاص بنا وتوصيله بقاعدة بيانات SQLite. ثم ننشئمنتجالنموذج الذي يمثلمنتجاتجدول في قاعدة البيانات. الget_active_productsتقوم الوظائف بتصفية المنتجات بواسطةنشيطالحالة باستخدامfilter_byطريقة. أخيرًا ، يعيد قائمة مفصولة بفاصلة لأسماء المنتجات النشطة.
التصفية بظروف متعددة
في بعض الأحيان ، قد تحتاج إلى تصفية السجلات بناءً على شروط متعددة. على سبيل المثال ، قد ترغب في العثور على جميع المنتجات على حد سواءنشيطوON_SALE. يمكنك القيام بذلك عن طريق التسلسل ظروف مرشح متعددة.
@app.Route ('/active_and_on_sale_products') def get_active_and_on_sale_products (): products = product.query.filter (product.status == 'active' ، product.status == 'on_sale'). all () product_names = [product.name for product]
في هذه الحالة ، نستخدمفلترالطريقة بدلا منfilter_by. الفلترتتيح لنا الطريقة استخدام شروط أكثر تعقيدًا ، مثل مقارنة الأعمدة بقيم محددة باستخدام==المشغل.
باستخدام المرشحات الديناميكية
ماذا لو كنت تريد السماح للمستخدمين بتحديد الحالة التي يريدون تصفيةها؟ يمكنك القيام بذلك عن طريق جعل ظروف الفلتر ديناميكية.
من Flask Import request @app.route ('/filter_products') def fileter_products (): status = request.args.get ('الحالة') إذا كانت الحالة: products = product.query.filter_by (status = status) .lal () أخرى: product.query.all () product_name = [product.name.
في هذا الرمز ، نستخدمrequest.args.getطريقة للحصول علىحالةالمعلمة من عنوان URL. إذاحالةيتم توفير المعلمة ، ونحن نرشح المنتجات حسب تلك الحالة. خلاف ذلك ، نعيد جميع المنتجات.


قوارير تصفية لدينا
الآن ، دعنا نتحدث عن قوارير التصفية لدينا. نحن نقدم مجموعة واسعة من قوارير التصفية عالية الجودة لمختلف التطبيقات المختبرية. أحد منتجاتنا الشعبية هوالمختبرات الزجاج الصافي تصفية قوارير مع الأنبوب العلوي. هذه القوارير مصنوعة من زجاج واضح ، مما يتيح لك مراقبة عملية الترشيح بسهولة. تصميم الأنابيب العلوي يجعل من المناسب الاتصال بمعدات المختبر الأخرى.
خيار آخر رائع هوالشكل المخروطي الزجاجي المختبري الشكل إرلينماير ترشيح قوارير مع أنابيب العلوي. يوفر الشكل المخروطي لهذه القوارير استقرارًا أفضل ويسمح بخلط وترشيح فعال. يتيح أنابيب العلوي أيضًا تكاملًا سلسًا مع أنظمة الترشيح.
خاتمة
يعد تصفية سجلات قاعدة البيانات حسب الحالة في تطبيق Flask مهمة شائعة ومهمة. باستخدام أساليب الاستعلام عن SQLAlchemy ، يمكنك بسهولة تصفية السجلات بناءً على شروط مفردة أو متعددة ، وحتى جعل المرشحات ديناميكية. وإذا كنت في السوق من أجل قوارير التصفية عالية الجودة ، فقد قمنا بتغطية مجموعة واسعة من المنتجات.
إذا كنت مهتمًا بتصفية قواريرنا أو لديك أي أسئلة حول تصفية سجلات قاعدة البيانات في Flask ، فلا تتردد في التواصل معنا. يسعدنا دائمًا المساعدة ومناقشة احتياجاتك المحددة. سواء كنت باحثًا أو عالمًا أو مطورًا ، فنحن هنا لدعمك في مشاريعك.
مراجع
- توثيق Flask: https://flask.palletsprojects.com/
- وثائق Sqlalchemy: https://docs.sqlalchemy.org/
