Я бы хотел сделать систему, в которой фотографии принадлежат проектам. Я также включил, что я могу загрузить 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)