class FooModel(models.Model):
filename = models.CharField(max_length=128)
file = models.FileField(upload_to=get_random_filename)
注意上面字段的顺序切换。
这不会起作用,因为:在upload_to()
被调用的pre_save()
,在这里的代码,当的实际值FileField
是必需的。你可以发现,分配到属性filename
的upload()
是第一个参数的生成后,filename
在插入sql。因此,分配在生成的sql中不生效,而仅影响实例本身。
如果这不是问题,请发布您在shell中键入的代码。