Как сохранить изображение в определенной папке (имя папки должно быть id)-DRF
Я хочу сохранить изображение в папке с именем, совпадающим с id. Id является автоматическим первичным ключом. Я пробовал, когда я даю пост запрос, я не получаю ничего в качестве id. как я могу достичь этого????
models.py
def upload_to(instance, filename):
return 'organization/{instance}/logo/{filename}'.format(filename=filename,
instance=instance.pk)
class Organization(models.Model):
code = models.CharField(max_length=25, null=False, unique=True)
name = models.CharField(max_length=100, null=False)
location = models.ForeignKey(Location, on_delete=models.RESTRICT)
logo_filename = models.ImageField(_("Image"), upload_to=upload_to, null=True)
Я знаю, что не могу взять id перед сохранением в db. Есть ли возможность сделать переименование, когда я дал пост запрос? Я запутался в этом. Любая помощь приветствуется,...
Не уверен в ответе, но вы можете попробовать -
используйте вложенные модели, если можете -
class Organization(models.Model):
code = models.CharField(max_length=25, null=False, unique=True)
---
---
class OrganizationImage(models.Model):
def upload_to(instance, filename):
return instance.organization
organization= models.OneToOneKey(Organization)
logo_filename = models.FileField(upload_to=upload_to)
А в методе создания организации -
Organization_Image= validated_data.pop(organization_image_data)
organization= Organization.objects.create(validated_data)
O = OrganizationImage.objects.create(organization=organization, **Organization_Image)