• 0

ماهو الفرق بين null=true وَ blank=true على Django؟

على Django وعند إضافة حقل إلى قاعدة البيانات أكتب :models.CharField(max_length=100, null=True, blank=True) .نفس الشيء مع ForeignKey,DecimalField.. ماهي الاختلافات بين:

  1. null=True فقط.
  2. blank=True فقط.
  3. null=True فقط.

ما هو الاختلاف بين استعمال كل منها (1،2و3)؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

تحدد المعطيات التالية كيف تعرّف ORM maps   قيم حقول  blank & null  على Django1.8

class Test(models.Model):
    charNull        = models.CharField(max_length=10, null=True)// موجود
    charBlank       = models.CharField(max_length=10, blank=True)// موجود
    charNullBlank   = models.CharField(max_length=10, null=True, blank=True)

    intNull         = models.IntegerField(null=True)
    intBlank        = models.IntegerField(blank=True)
    intNullBlank    = models.IntegerField(null=True, blank=True)

    dateNull        = models.DateTimeField(null=True)
    dateBlank       = models.DateTimeField(blank=True)
    dateNullBlank   = models.DateTimeField(null=True, blank=True)        

قواعد البيانات PostgreSQL 9.4:

CREATE TABLE Test (
  id              serial                    NOT NULL,

  "charNull"      character varying(10),//موجود
  "charBlank"     character varying(10)     NOT NULL,// غير موجود
  "charNullBlank" character varying(10),

  "intNull"       integer,
  "intBlank"      integer                   NOT NULL,// غير موجود
  "intNullBlank"  integer,

  "dateNull"      timestamp with time zone,
  "dateBlank"     timestamp with time zone  NOT NULL,
  "dateNullBlank" timestamp with time zone,
  CONSTRAINT Test_pkey PRIMARY KEY (id)
)

ثم MySQL 5.6:

CREATE TABLE Test (
     `id`            INT(11)     NOT  NULL    AUTO_INCREMENT,

     `charNull`      VARCHAR(10) NULL DEFAULT NULL,
     `charBlank`     VARCHAR(10) NOT  NULL,
     `charNullBlank` VARCHAR(10) NULL DEFAULT NULL,

     `intNull`       INT(11)     NULL DEFAULT NULL,
     `intBlank`      INT(11)     NOT  NULL,
     `intNullBlank`  INT(11)     NULL DEFAULT NULL,

     `dateNull`      DATETIME    NULL DEFAULT NULL,
     `dateBlank`     DATETIME    NOT  NULL,
     `dateNullBlank` DATETIME    NULL DEFAULT NULL
)

بعبارة أخرى شاملة، blanck غير موجود على قواعد البيانات، بخلاف يُسمح بنوع Null عليها.

 

Django tips: the difference between ‘blank’ and ‘null’

 

تمّ تعديل بواسطة E.Nourddine

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن