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

السؤال

نشر

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

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

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

Recommended Posts

  • 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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...