Amer Abdallah نشر 20 أغسطس 2021 أرسل تقرير نشر 20 أغسطس 2021 عندما نضيف حقل قاعدة بيانات في جانغو Django، نكتب بشكل عام: models.CharField(max_length=255, null=True, blank=True) لكن لم أفهم ما الفرق بين الحالات التالية: كتابة null=True فقطك، أو كتابة blank=True فقط، أو كتابة null=True و blank=True معًا نحن نستعمل نفس الشيء من حقول مثل ForeignKey و ManyToManyField و DateTimeField، ما هي فوائد وعيوب كل طريقة من الطرق الثلاث السابقة؟ وهل يوجد فرق من الأساس؟ 1 اقتباس
1 Ali Haidar Ahmad نشر 20 أغسطس 2021 أرسل تقرير نشر 20 أغسطس 2021 null = True يعين NULL (مقابل NOT NULL) في العمود في قاعدة البيانات الخاصة بك. سيتم تخزين القيم الفارغة لأنواع حقول Django مثل DateTimeField أو ForeignKey على أنها NULL في قاعدة البيانات. يحدد blank ما إذا كان الحقل مطلوباً في النماذج. وهذا يشمل ال admin والنماذج المخصصة الخاصة بك "custom forms". إذا كانت blank = True، فلن يكون الحقل مطلوباً (أي سيقبل القيم الفارغة blank values)، بينما إذا كان False فلا يمكن أن يكون الحقل فارغاً. يكون الجمع بين الاثنين متكرراً جداً لأنه عادةً إذا كنت ستسمح لأحد الحقول بأن يكون فارغاً في النموذج الخاص بك، فستحتاج أيضاً إلى أن تجعل قاعدة البيانات الخاصة بك تسمح بقيم NULL لهذا الحقل. الاستثناء هو CharFields و TextFields، والتي لا يتم حفظها في Django على أنها NULL. يتم تخزين القيم الفارغة في قاعدة البيانات كسلسلة فارغة (""). أمثلة: #يعطي خطأ IntegrityError if blank models.DateTimeField(blank=True) #مسموحة NULL قيم models.DateTimeField(null=True) # ولكن يجب تعبئتها في نموذج من الواضح أن هذين الخيارين ليس لهما معنى منطقي للاستخدام (على الرغم من أنه قد يكون هناك حالة استخدام لـ null = True ، blank = False إذا كنت تريد أن يكون الحقل مطلوباً دائماً في النماذج، وهو اختياري عند التعامل مع كائن من خلال شيء مثل ال shell): models.CharField(blank=True) #"" سيتم تخزين القيم الفارغة ك #مسموحة NULL قيم models.CharField(null=True) #NULL ولكن لن يتم تعيينها على أنها لا يتم حفظ أنواع CHAR و TEXT كـ NULL بواسطة Django ، لذا فإن null = True غير ضروري. ومع ذلك ، يمكنك تعيين أحد هذه الحقول يدوياً إلى None لفرض تعيينه على أنه NULL. إذا كنت تحتاج لذلك لسبب ما. 1 اقتباس
0 شرف الدين حفني نشر 23 أغسطس 2021 أرسل تقرير نشر 23 أغسطس 2021 يجب الاول معرفة ماهى الnull وما هو الblank حسنا فان الblank هو قيمة فارغة ("") ,ولكنه قيمة ,اليس كذلك؟ انها قيمة فارغة ولكن فى النهاية تزال قيمة, مثل الصفر, هو قيمة وفى النهاية يتم تخزينه فى الذاكرة المؤقتة اما الnull فتعنى انه لا يوجد قيمة لهذا العنصر, انه ليس فارغ,انه ليس بصفر, انه فقط لا قيمة له ولا يتم تخزينه فى الذاكرة المؤقته, ببساطة لانك لا تستطيع ان تخزن قيمة شئ ليس له قيمة اقتباس
السؤال
Amer Abdallah
عندما نضيف حقل قاعدة بيانات في جانغو Django، نكتب بشكل عام:
لكن لم أفهم ما الفرق بين الحالات التالية:
كتابة null=True فقطك، أو كتابة blank=True فقط، أو كتابة null=True و blank=True معًا
نحن نستعمل نفس الشيء من حقول مثل ForeignKey و ManyToManyField و DateTimeField، ما هي فوائد وعيوب كل طريقة من الطرق الثلاث السابقة؟ وهل يوجد فرق من الأساس؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.