create()
إنشاء وحفظ كائن بخطوة واحدة create()
create() تُنشئ كائنًا جديدًا وتحفظه بقاعدة البيانات فورًا بسطر واحد، بدل استدعاء المُنشئ ثم save() بسطرين منفصلين.
اختصار مباشر لا أكثر — Model.objects.create(**kwargs) يكافئ تمامًا Model(**kwargs) متبوعة بـ .save(). يُطلق إشارات pre_save/post_save بشكل طبيعي لأنه يستدعي save() فعليًا خلف الكواليس.
الصياغة
Model.objects.create(field1=value1, field2=value2)
📄 مثال
post = Post.objects.create(
title="مقال جديد",
slug="new-article",
status="draft",
)
# يعادل تمامًا:
# post = Post(title=..., slug=..., status=...)
# post.save()💡 نصائح عملية
- استخدمها كافتراضي عند إنشاء سجل بقيم معروفة مسبقًا — أوضح وأقصر من سطرين منفصلين
⚠️ أخطاء شائعة
- استخدامها لإنشاء سجل قد يكون موجودًا مسبقًا (مثل فئة بنفس الاسم) — تُنشئ دائمًا سجلًا جديدًا وقد تسبّب تكرارًا أو خطأ فريدة (unique)؛ استخدم get_or_create() بدلًا منها بهذه الحالة
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار DJANGO الكامل بالعربي.