0
我想使用方法在ImageField
字段中设置动态upload_to
。喜欢的东西this:Django - 从QuerySet获取数据库别名
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)
更新
我不知道这有什么用,但我使用Django的1.7.1
我在做一个试验与模型以上:
models.py
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"]
我得到的终端形式提交:
终端
INSTANCE(None)
[19/May/2015 21:19:55] "POST /default/clientes/new HTTP/1.1" 500 168242
另一种选择,可以使进口并获得数据库别名,但我不知道在哪里从尚未得到这个。
也许这个工作的另一个Django版本,但不要在Django 1.7.1或至少没有'ImageFields' – MikeVelazco