Python Django-无法设置默认DateTimeField值

Python Django-无法设置默认DateTimeField值,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,当我在django管理站点中保存带有空日期和添加日期字段的表单时,它会在那个里保存空值。我想节省当前时间。以下是代码: from django.db import models import datetime from django.utils import timezone # Create your models here. class Event(models.Model): def __str__(self): return self.title t

当我在django管理站点中保存带有空日期和添加日期字段的表单时,它会在那个里保存空值。我想节省当前时间。以下是代码:

from django.db import models
import datetime
from django.utils import timezone

# Create your models here.

class Event(models.Model):
    def __str__(self):
        return self.title

    title = models.CharField(max_length=300)
    date = models.DateField(default=datetime.date.today, blank=True, null=True)
    date_added = models.DateTimeField(default=timezone.localtime, blank=True, null=True)
    text = models.TextField()

class EventPhoto(models.Model):
    event_id = models.ForeignKey(Event, on_delete=models.CASCADE)
    photo = models.ImageField(upload_to='news/')
为什么default=timezone.localtime不起作用?

Django DateField提供了以下参数:

date = models.DateField(auto_now=True, blank=True, null=True)
date_added = models.DateTimeField(auto_now_add=True, blank=True, null=True)
timezone.localtime是一个转换函数,而不是一个值,这就是为什么不能使用它

Help on function localtime in module django.utils.timezone:

localtime(value, timezone=None)
    Converts an aware datetime.datetime to local time.

    Local time is defined by the current time zone, unless another time zone
    is specified.

我发现问题出在django管理员身上。如果我使用这样的代码:

new_event = Event(title="blablah", text="some_text")
new_event.save()
然后使用default=timezone.localtime正确保存日期字段。
django管理员可能试图将空字符串传递给DateField,而不是不接触它并让它执行默认操作。

试试datetime.datetime.now.try models.DateTimeFieldDauto\u now\u添加=True@MD.KhairulBasar它也不起作用:好吧,如果我以后使用它,我将无法更改日期-@Qback是的,因为您需要默认值,我想您必须删除字段声明中的null=True,blank=True。但当我不使用它们时,我无法在django admin中保存带有空字段的表单。另外,当我尝试使用blank=True和default=sometext的CharField时,它起了作用。@Qback如果只保留blank=True而不保留null=True,则应该使空字段成为可启用的。对于空字段,将使用默认值。然后它抛出异常。IntegrityError NOT NULL约束失败:news\u event.date。我猜它不接受我提供的数据do DateField。我正在使用时区。现在,仍然不工作。