django'DateTimeField'没有默认值错误

sra*_*mij 6 django django-models django-admin

我是django开发的新手.我正在创建一个可能有多个B类分配给它的A类:

class A(models.Model):        
    name = models.CharField(max_length=200)    

    def __unicode__(self):
        self.name


class B(models.Model):
    a = models.ForeignKey(A)
    name = models.CharField(max_length=200)
    mydate = models.DateTimeField('party date')
Run Code Online (Sandbox Code Playgroud)

当我试图在管理页面创建一个新的"A"元素,并为它创建匹配元素B然后save(),我得到警告: 字段'mydate'没有默认值

如果我将"mydate",元素移动到A类,那么当save()我点击时我收到一条消息这个字段需要来自Django,需要我填写这个字段!

当日期字段是B的一部分时,如何使这个必需的消息出现!

谢谢

Sil*_*ght 12

如果您尚未指定,您的字段是可选字段,则每次创建对象时都必须为其提供值.在你的情况下,你不能这样做,你将不得不做这些事情之一:

以下是如何使字段可选:

class B(models.Model):
    a = models.ForeignKey(A)
    name = models.CharField(max_length=200)
    mydate = models.DateTimeField('party date', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

以下是设置默认值的方法:

import datetime

class B(models.Model):
    a = models.ForeignKey(A)
    name = models.CharField(max_length=200)
    mydate = models.DateTimeField('party date', default=datetime.datetime.now)
Run Code Online (Sandbox Code Playgroud)