如何获取datetime实例?

时间:2014-07-23 09:07:30

标签: python django django-models

这看起来很简单。但我在学习阶段无法弄清楚。

这是我的模特课

class Store(models.Model):
    file = models.FileField(upload_to=content_file_name)
    file_name = models.CharField(max_length=100)
    created_date = models.DateTimeField(auto_now_add=True)
    userfild = models.ForeignKey(user,null=True, blank=True)

好的澄清我刚刚在这里包含了我的content_file_name函数

def content_file_name(instance, filename):
    return os.path.join(
      "user_%d" % instance.created_date, filename)

但文件夹结构的输出如下所示

`None`
----filename

我可以像这样获取file_name实例 - > intance.file_name

但是当我输入instance.created_date时,它会返回'None'值。

我缺少什么。我的另一个疑问是我将DateTimeField设置为auto_now_add = True所以它在提交表单时保存到数据库中。但是为什么没有回来?

2 个答案:

答案 0 :(得分:0)

不太确定这是你要问的问题,但无论如何都要这样:

通过实例化它来创建任何类的实例:

Store()

在Python中,这会调用类的 init ()函数。由于你没有,它将使用你继承的类中的'constructor',models.Model。

所以,例如,你可以这样做:

my_store = Store()
my_store.file_name = 'some new name!'

答案 1 :(得分:0)

在保存对象之前,不会填充

auto_now_add。如果您希望在实例化对象后立即应用默认值,请将default参数与可调用对象一起使用:

created_date = models.DateTimeField(default=datetime.datetime.now)