Это ужасно..
Потому что при конкатенации строк каждый раз создаётся новый объект. Имеется в виду, что в данном случае одна конкатенация создаёт в памяти аж 2 объекта.
а не может быть связано с тем, как видится окружение из под views во время create? я неграмотный человек, но подозреваю, '..' в create по факту означает каталог запуска приложения, а не самого скрипта
Попробуй получить текущий каталог не через две точки, а вот так os.path.dirname(os.path.realpath(file))
serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) self.perform_create(serializer) 1) create в ModelViewSet выглядит вот так 2) путь в данном случае будет от директории с вьюшкой, поэтому путь лучше делать os.path.join(settings.BASE_DIR, serializer_data['file'])
Ваше "Это ужасно" запустило в моём котелке еще парочку мыслительных процессов и я понял в чем дело. Ясно-красно, что я криво пытался конкатенировать путь. Но дело оказалось в том, что BASEDIR и путь моего объекта имеют разнонаправленные слеши
Это не мое было "это ужасно" было, вы ошибаетесь
Нет, не поэтому, потом что с пути нужно нормально соединять, а не так
Не против, но кроме этого ещё и то, что написал я)
Стикер
Обсуждают сегодня