تحويل حقل Char إلى عدد صحيح في Django ORM
عند الاستعلام باستخدام Django ORM، قد تواجه سيناريوهات حيث تحتاج إلى تحويل حقل حرف إلى عدد صحيح. يمكن أن ينشأ هذا عندما يتم تخزين الحقل كـ CharField ولكنك تريد إجراء عمليات حسابية أو مقارنات باستخدام قيم عددية.
لماذا CAST غير متاح؟
في الإصدارات السابقة من كانت Django أو استعلامات SQL الأولية أو وظائف قاعدة البيانات ضرورية لمثل هذه السيناريوهات. ومع ذلك، مع تقديم وظيفة Cast في Django 1.10، يمكنك تحقيق هذا الإرسال داخل ORM نفسه.
استخدام وظيفة Cast
لإلقاء CharField إلى عدد صحيح، استخدم بناء الجملة التالي:
from django.db.models import Cast, IntegerField
students.objects.annotate(
student_id_int=Cast('student_id', IntegerField())
).filter(student_id_int__contains=97318).order_by('-student_id_int')
سيؤدي هذا إلى إضافة تعليق توضيحي لمجموعة الاستعلامات بحقل جديد يسمى Student_id_int، والذي يتم تحويله إلى نوع عدد صحيح. يمكنك بعد ذلك استخدام هذا الحقل الجديد للتصفية والترتيب حسب الرغبة.
فوائد استخدام Cast
يوفر استخدام Cast العديد من الفوائد:
المرجع
لمزيد من المعلومات حول الإرسال في Django ORM، راجع الوثائق:
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3