تم حلها: استعلامات نموذج django

واحدة من المشاكل الرئيسية مع استعلامات نموذج Django هي أنها يمكن أن تكون مطولة للغاية. على سبيل المثال ، إذا كنت تريد العثور على جميع المقالات في مدونة معينة ، فستحتاج إلى استخدام استعلام مثل هذا:

Articles = Blog.objects.all ()

إذا كنت ترغب في العثور على جميع المقالات التي تم نشرها في الشهر الماضي ، فستحتاج إلى استخدام استعلام مثل هذا:

Articles_published_in_the_last_month = Blog.objects.filter (تم النشر = صحيح)

There are a number of ways to query a Django model. The simplest way is to use the Model.objects.all() method, which will return all objects for that model.

If you want to filter the queryset, you can use the Model.objects.filter(**kwargs) method, where kwargs is a dictionary of field names and values to filter on. For example, if you only wanted objects with a certain value for the 'name' field, you could do:

Model.objects.filter(name='value')

If you want to get a single object from the queryset, you can use the Model.objects.get(**kwargs) method, which will return the first object that matches the given criteria. For example, if you wanted to get an object with a particular 'id' value:

Model.objects.get(id=1)

إذا كنت ترغب في طلب مجموعة الاستعلام ، يمكنك استخدام طريقة Model.objects.order_by (اسم_المجال) ، والتي ستطلب مجموعة الاستعلام بواسطة الحقل المحدد بترتيب تصاعدي. يمكنك أيضًا استخدام البادئة "-" للترتيب التنازلي:

Model.objects.order_by ("- name")

ما هو QuerySet

مجموعة QuerySet عبارة عن مجموعة من النماذج ذات الصلة التي يمكن الاستعلام عنها معًا. إنها طريقة مناسبة لتجميع النماذج معًا بحيث يمكنك بسهولة الاستعلام عنها كوحدة.

تعبيرات الاستعلام

يعد تعبير الاستعلام طريقة فعالة لتصفية البيانات في Django. إنها تشبه جملة WHERE في استعلام SQL ، ولكن يمكن استخدامها مع أي كائن نموذج.

على سبيل المثال ، يمكنك استخدام تعبير استعلام للعثور على جميع المقالات بعنوان يبدأ بـ "How to":

articles.filter (title__startswith = "كيف")

مرجع API لمجموعة الاستعلام

توفر واجهة برمجة تطبيقات QuerySet طريقة للاستعلام عن حقول النموذج والبيانات المرتبطة بها. تم تصميم واجهة برمجة التطبيقات على غرار جملة SQL SELECT ، وتسمح لك بتحديد الحقول التي تريد استردادها ، والترتيب الذي تريد إرجاعها ، وعدد صفوف البيانات التي تريد إرجاعها.

لاستخدام QuerySet API ، قم أولاً بإنشاء كائن نموذج:

من فئة نماذج الاستيراد django.db MyModel (الطرازات.النموذج): الاسم = الطرازات.شارفيلد (max_length = 30)

ثم قم بإنشاء كائن استعلام:

الاستعلام = MyModel.objects.create_query () query.select ('name'). order_by ('- name')

الوظائف ذات الصلة:

اترك تعليق