2010-04-25 24 views
1

當我運行:Django loaddata拋出ValidationError:[u'在YYYY-MM-DD格式中輸入一個有效的日期。]在null = true字段中?

django-admin.py loaddata ../data/library_authors.json 

的錯誤是:

... 
    ValidationError: [u'Enter a valid date in YYYY-MM-DD format.'] 

型號:

class Writer(models.Model): 
    first = models.CharField(u'First Name', max_length=30) 
    other = models.CharField(u'Other Names', max_length=30, blank=True) 
    last = models.CharField(u'Last Name', max_length=30) 
    dob = models.DateField(u'Date of Birth', blank=True, null=True) 

    class Meta: 
     abstract = True 
     ordering = ['last'] 
     unique_together = ("first", "last") 

    class Author(Writer): 
    language = models.CharField(max_length=20, choices=LANGUAGES, blank=True) 

    class Meta: 
     verbose_name = 'Author' 
     verbose_name_plural = 'Authors' 

注意,出生日期的DateField有空白=真,空=真

json文件的結構:

[ 
    { 
     "pk": 1, 
     "model": "books.author", 
     "fields": { 
      "dob": "", 
      "other": "", 
      "last": "Carey", 
      "language": "", 
      "first": "Peter" 
     } 
    }, 
    { 
     "pk": 3, 
     "model": "books.author", 
     "fields": { 
      "dob": "", 
      "other": "", 
      "last": "Brown", 
      "language": "", 
      "first": "Carter" 
     } 
    } 
] 

備份mysql數據庫的相關表中的相關日期字段設置爲NULL,默認情況下爲null? =是。

關於我在做什麼錯的任何想法或如何讓loaddata接受空日期值?

===== 編輯:

丹尼爾的回答工作,我redfaced。

回答

2

簡單地改變""dobnull,它會工作,空字符串是不一樣的null。即使你在那裏有blank=True,這實際上只用於表單驗證,而不是通過燈具輸入驗證。

相關問題