这看起来很简单。但我在学习阶段无法弄清楚。
这是我的模特课
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所以它在提交表单时保存到数据库中。但是为什么没有回来?
答案 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)