اذهب إلى المحتوى
  • 0

كيفية جعل أحد الحقول إختياري Optional في جانغو Django؟

Mohssen A Mohssen

السؤال

لدي نموذج بسيط بالشكل التالي:

class Registration_FORM(ModelForm):
    class Meta:
        model = My_Class
        fields = ('name', 'email' , 'gender')

كيف أجعل الحقل gender إختياري في جانغو Django؟ لكي لا يتم إجبار المستخدم على إدخال هذه القيمة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

توجد عدة طرق لجعل الحقل gender إختياري في جانغو ModelForm:

  • إعادة كتابة الحقل وإضافة required=False
    class Registration_FORM(ModelForm):
      	#هنا نقوم بإعادة صياغة الحقل gender
        # وإضافة خاصية اختياري له
        gender = forms.CharField(required=False)
        class Meta:
            model = My_Class
            fields = ('name', 'email' , 'gender')

     

  • أول من خلال الدالة __init__ الخاصة ب Registration_FORM:

    class Registration_FORM(ModelForm):
        class Meta:
            model = My_Class
            fields = ('name', 'email' , 'gender')
        def __init__(self, *args, **kwargs):
            super(Registration_FORM, self).__init__(*args, **kwargs)
            # نقوم بإعطاء خاصية إختياري للحقل gender
            self.fields['gender'].required = False

     

  • أو جعل الحقل  gender إختياري في النموذج My_Class:

    class My_Class(models.Model):
        ....
        gender = models.Charfield(max_length=20, blank=True, null=True)
                                                 ^^^^^^^^^^^  ^^^^^^^^^

    نُضيف blank=True و null=True لكي نجعل الحقل يقبل القيمة None والقيمة الفارغة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...