برنامه نویسی
Django ORM – انجمن DEV

جنگو یک لایه Object-Relational Mapping (ORM) ارائه می دهد که به شما امکان می دهد به جای نوشتن پرس و جوهای خام SQL با استفاده از کد پایتون با پایگاه داده خود تعامل داشته باشید. ORM یک API پایتونیک سطح بالا برای انجام عملیات پایگاه داده فراهم می کند. در اینجا برخی از دستورات رایج ORM جنگو و دستورات SQL معادل آنها آورده شده است:
-
ایجاد اشیا:
- Django ORM:
Model.objects.create(**kwargs)
- SQL:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
- Django ORM:
-
ذخیره اشیاء:
- Django ORM:
object.save()
- SQL:
UPDATE table_name SET column1=value1, column2=value2, ... WHERE condition
- Django ORM:
-
اشیاء پرس و جو:
- Django ORM:
Model.objects.all()
- SQL:
SELECT * FROM table_name
- Django ORM:
-
فیلتر کردن اشیاء:
- Django ORM:
Model.objects.filter(**kwargs)
- SQL:
SELECT * FROM table_name WHERE condition
- Django ORM:
-
سفارش اشیاء:
- Django ORM:
Model.objects.order_by(*fields)
- SQL:
SELECT * FROM table_name ORDER BY column1, column2, ...
- Django ORM:
-
به روز رسانی اشیاء:
- Django ORM:
Model.objects.filter(**kwargs).update(**update_kwargs)
- SQL:
UPDATE table_name SET column1=value1, column2=value2, ... WHERE condition
- Django ORM:
-
حذف اشیا:
- Django ORM:
object.delete()
- SQL:
DELETE FROM table_name WHERE condition
- Django ORM:
-
تجمیع اشیاء:
- Django ORM:
Model.objects.aggregate(agg_func)
- SQL:
SELECT agg_func(column) FROM table_name
- Django ORM:
-
پیوستن به اشیاء (مدل های مرتبط):
- Django ORM:
Model.objects.select_related('related_model')
- SQL:
SELECT * FROM table_name INNER JOIN related_table ON table_name.related_column = related_table.id
- Django ORM:
اینها تنها چند نمونه از نحوه مطابقت دستورات ORM جنگو با دستورات SQL هستند. Django ORM بسیاری از عملیات پیچیدهتر مانند فیلترینگ پیچیده، گروهبندی و تجمیع را مدیریت میکند، در حالی که دستور SQL زیرین را انتزاع میکند.