鍍金池/ 問答/Python/ Django創(chuàng)建admin用戶時出錯django.core.exceptions

Django創(chuàng)建admin用戶時出錯django.core.exceptions.ValidationError?

Django創(chuàng)建admin用戶時出錯django.core.exceptions.ValidationError?

在執(zhí)行python manage.py createsuperuser并輸入相應(yīng)用戶名和密碼等以后出現(xiàn)以下錯誤
django.core.exceptions.ValidationError: ['’‘ 必須為合法的日期時間格式,請使用 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 格式。']

在執(zhí)行創(chuàng)建超級用戶前,有編寫models模塊,且涉及許多與時間相關(guān)的字段,不知道會不會有聯(lián)系
請各位指教

models.py
from datetime import datetime

from django.db import models
from django.contrib.auth.models import AbstractUser

Create your models here.
class UserProfile(AbstractUser):#擴展用戶信息數(shù)據(jù)庫

nick_name = models.CharField(max_length=30, verbose_name=u"昵稱", default=u"")
birthday = models.DateTimeField(verbose_name=u"生日",null=True,blank=True,default=u"")
gender = models.CharField(choices=(("male",u"男"),("femal",u"女")),default=u"",max_length=5)
address = models.CharField(max_length=100,default=u"")
mobile = models.CharField(max_length=11,blank=True,null=True)
image = models.ImageField(upload_to="image/%Y/%m",default=u"image/default.img",max_length=100)#用戶頭像和默認頭像

class Meta:
    verbose_name = u"用戶信息"
    verbose_name_plural = verbose_name

def __str__(self):#admin 管理時返回的題目標題
    return self.username
回答
編輯回答
舊言

擴展 User 時,字段 birthday 默認值錯誤,應(yīng)該將空串改成 None,如下

class UserProfile(AbstractUser):
    ...
    # birthday = models.DateTimeField(verbose_name=u"生日",null=True,blank=True,default=u"")
    birthday = models.DateTimeField(verbose_name=u"生日",null=True,blank=True,default=None)

擴展步驟請參考 《django 2.0 擴展用戶字段 示例》, https://segmentfault.com/a/11...

2018年3月3日 21:32
編輯回答
薄荷綠

錯誤原因應(yīng)該是:
DateTimeField對應(yīng)的格式是datetime(),你寫成time的格式了。

解決方案:

  1. 要么使用datetime() 方法
  2. 使用time.strftime("%b %d %Y %H:%M:%S(類似格式)",datetime.now)

查了下文檔,如果要時時更新時間的話,好像可以嘗試:DateTimeField.auto_now

2017年9月26日 22:07