تخطَّ إلى المحتوى

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 الكامل بالعربي.