Size: a a a

Django [ru] #STAY HOME

2021 May 13

Э

Эльдар in Django [ru] #STAY HOME
Подскажите, пожалуйста, есть в django вроде декоратор, который позволяет в одной функции или классе достать записи из разных таблиц, но в одном запросе. Например:

Декоратор
Функция
posts = Post.objects.all()
frends = Frend.objects.all()
источник

KM

Kirill Maiboroda in Django [ru] #STAY HOME
спасибо, тоже про это нарыл, думал что-то другое нужно)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
а как отдаешь ?
источник

Н

Невада in Django [ru] #STAY HOME
Враппер и FileResponse
источник

DT

Dan Tyan in Django [ru] #STAY HOME
def view():
   response = FileResponse()    
   return response
источник

Н

Невада in Django [ru] #STAY HOME
Ну +-, да
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ну после response удаляй
источник

DT

Dan Tyan in Django [ru] #STAY HOME
по теории файл уже в памяти
источник

Н

Невада in Django [ru] #STAY HOME
Ооо. Поняла, спасибо. Попробую так
источник

e

e\/gen in Django [ru] #STAY HOME
по идее можно вообще без джанги обойтись, запуская баш скрипт по крону, который удаляет файлы старше скажем часа
источник

DT

Dan Tyan in Django [ru] #STAY HOME
в любой въюхе можно вытащить сколько угодно данных
что сделать нужно ?
источник

e

e\/gen in Django [ru] #STAY HOME
только если будет много юзеров которые будут абьюзить, то выйдет не очень) но и неуверен за временное сохранение, всегда избегаю его по возможности
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ну если есть celery я бы делал таск с отсрочкой в несколько секунд
источник

Э

Эльдар in Django [ru] #STAY HOME
Да, но это вроде как на каждую таблицу создаётся отдельный запрос, а декоратор этот достает все данные получаемые во вьюге в одном запросе к бд
источник

DT

Dan Tyan in Django [ru] #STAY HOME
нет такого
источник

Э

Эльдар in Django [ru] #STAY HOME
Подскажите, а что в таком случае лучше, одна вьюха - получаем записи из одной таблицы, или в одной вьюхе получать данные из разных таблиц
источник

Н

Невада in Django [ru] #STAY HOME
"Процесс не может получить доступ к файлу, так как этот файл занят другим процессом"
Это видимо из-за того, что я открываю его..
file_handle = open(result_path, 'rb')        
response = FileResponse(FileWrapper(file_handle), content_type='application/force-download')
З
акрыть перед удалением тоже нельзя, т.к.
ValueError: read of closed file
источник

DT

Dan Tyan in Django [ru] #STAY HOME
странный вопрос

въюха достает данные для страницы
если на странице нужны данные из нескольких таблиц
то и доставать надо в этой въюхе
источник

DT

Dan Tyan in Django [ru] #STAY HOME
with open() as fh:
   data = fh.read()
   response = FileResponse...

...
delete file
return response
источник

DT

Dan Tyan in Django [ru] #STAY HOME
так тоже ?
источник