【发布时间】:2011-08-09 09:01:11
【问题描述】:
我想做一个系统,就是照片属于项目。我还启用了我可以直接为项目上传 zip 文件,它将解压缩并将照片注册到指定的项目。但是,我在定义 Photo 类时遇到了麻烦。
我需要使用当前实例获取Project.file_zip.path 的值,以定义img 字段的upload_to 属性。但是,当我像下面这样尝试时,它返回 AttributeError: 'ForeignKey' object has no attribute 'file_path'。我该如何解决?
class Project(models.Model):
....
owner=models.ForeignKey(User)
file_zip=models.FileField(upload_to='projects/%Y/%m/%d')
def __unicode__(self):
return self.project_name
def file_path(self):
return re.search(re.search('[^\s]+(?=\.zip)', self.file_zip).group(0))
class Photo(models.Model):
belongs_to=models.ForeignKey(Project)
img=models.ImageField(upload_to='/home/contact/python_project/all_bugs_will_reveal/'+belongs_to.file_path())
desc=models.CharField(max_length=255)
【问题讨论】:
标签: django foreign-keys