我的一个模型有问题。我正在上传一张图片,我想存储 id(数据库表中的 pk),但我需要知道 Django 何时可以访问 self.id
.
模型.py
class BicycleAdItemKind(MPTTModel):
def url(self, filename):
pdb.set_trace()
url = "MultimediaData/HelpAdImages/ItemKind/%s/%s" % (self.id, filename)
return url
def item_kind_image(self):
return '<img align="middle" src="/media/%s" height="60px" />' % self.image
item_kind_image.allow_tags = True
# Bicicleta completa, Componentes para bicicleta, Acessorios para ciclista
n_item_kind = models.CharField(max_length=50)
parent = TreeForeignKey('self', null=True,
blank=True, related_name='children')
description = models.TextField(null=True, blank=True)
image = models.ImageField(upload_to=url, null=True, blank=True)
date_inserted = models.DateTimeField(auto_now_add=True)
date_last_update = models.DateTimeField(auto_now=True)
def __unicode__(self):
return self.n_item_kind
class MPTTMeta:
order_insertion_by = ['n_item_kind']
问题出在url()
方法上;我只能在更新对象时得到,在创建新对象时self.id
我没有得到。self.id
如何修改此模型以便self.id
在创建新对象时获得?
使用当前代码,当我创建一个新对象时,我最终会得到一个 url,如:
MultimediaData/HelpAdImages/ItemKind/None/somefile.jpg
我需要有类似的东西:
MultimediaData/HelpAdImages/ItemKind/35/somefile.jpg
有什么线索吗?