我想使用方法在ImageField
字段中设置动态def content_file_name(instance, filename):
return '/'.join(['content', instance.database_alias, filename])
class Content(models.Model):
name = models.CharField(max_length=200)
user = models.ForeignKey(User)
file = models.FileField(upload_to=content_file_name)
。像Demo.这样的东西:
from django.db import models
def content_file_name(instance, filename):
print "INSTANCE(%s)" % instance._state.db
return "/".join(instance._state.db, filename)
class Cliente(models.Model):
class Meta:
verbose_name = "Cliente"
verbose_name_plural = "Clientes"
Nombre = models.CharField("Nombre", max_length=50)
Foto = models.ImageField(upload_to=content_file_name)
def __unicode__(self):
return "Hello World"
MY_FIELDS = ["Nombre", "Foto"]
我不知道这是否有用,但我正在使用 Django 1.7.1
我正在使用上面的模型进行测试:
models.py
INSTANCE(None)
[19/May/2015 21:19:55] "POST /default/clientes/new HTTP/1.1" 500 168242
我正在表单提交终端:
终端
akka.routing.GetRoutees
另一种选择可能是导入并获取数据库别名,但我不知道从哪里获取它。
答案 0 :(得分:0)
instance._state.db
应该返回数据库别名。