на uid FK-записи?
Допустим, есть:
1. Модель Записи
поле uid - уникальный адрес для каждой записи 128-битный
2. Модель - картинки, у которых есть поле post = FK к модели Записи
поле image
Вот в поле image, как сделать путь для upload_to по типу:
example.org/post/<uid>/filename.ext
def get_upload_path(instance, filename): ext = filename.split('.')[-1] return f'{instance.uid}.{ext}' file_field = models.FileField(upload_to=get_upload_path)
в филде файла указать class YourModel(models.Model): file = FileField(upload_to=your_custom_function) def your_custom_function(instance: YourModel, filename: str): return 'your_custom_path/'
Сделал так: def get_upload_path(post, filename): return f'{post.uid}/{filename}' пишет, что у модели с картинками нет поля uid
ты же сам писал что есть поле uid
Повторюсь: Модель1: Post: name uid = UUIDField Модель 2: Image: post = fk(Post) image = ImageField
А как можно добавить любое слово к пути тут? return f'{instance.post.uid}/{filename}' Чтобы получилось такое, например. return f'{instance.post.uid}/ololo/{filename}'
Обсуждают сегодня