Size: a a a

Django [ru] #STAY HOME

2020 May 06

D

Dk in Django [ru] #STAY HOME
Я очень стараюсь делать всё без костылей по структуре Django
источник

T

Tim in Django [ru] #STAY HOME
Dk
Я хз, не так давно пишу на Django

Суть в том, что я получаю файлы запросом, генерирую папку в static, туда кладу эти файлы, а путь до папки сохраняю в бд. Имена файлов всегда фиксированы, поэтому нет смысла их записывать.
Хочу, чтобы в бд лежал полный путь до папки начиная с корня, а при запросе возвращать /static/folder/
Может есть решения уже, но я не нашёл
ты вручную файлы что ли сохраняешь?
источник

D

Dk in Django [ru] #STAY HOME
Ну да
источник

T

Tim in Django [ru] #STAY HOME
Dk
Ну да
емое
источник

D

Dk in Django [ru] #STAY HOME
Можно через File, я знаю
источник

D

Dk in Django [ru] #STAY HOME
>Хочу, чтобы в бд лежал полный путь до папки начиная с корня
чтобы админкой можно было править и удалять
источник

D

Dk in Django [ru] #STAY HOME
А вот каждый файл сущностью в бд хранить не нравится идея
источник

T

Tim in Django [ru] #STAY HOME
Dk
А вот каждый файл сущностью в бд хранить не нравится идея
там только пути храняться, то есть строка
источник

T

Tim in Django [ru] #STAY HOME
Dk
>Хочу, чтобы в бд лежал полный путь до папки начиная с корня
чтобы админкой можно было править и удалять
я, видимо, не доконца понимаю тебя. в бд будут храниться относительные пути типа /static/file.txt
источник

T

Tim in Django [ru] #STAY HOME
а если надо абсолютный, то пишется просто метод для это
источник

T

Tim in Django [ru] #STAY HOME
Tim
Всем привет, запутался с запросом к бд

на пасте модели и пример запроса.
https://pastebin.com/TWTzBKFX

В кратце пытаюсь exclude-ом убрать лишние объекты, но запрос sql формируется не так как мне хотелось бы.
chat.messages.exclude(messagestatus__is_delete_for_me=True, messagestatus__user=request.user)
исключаю сообщения, которые пользователь пометил, как удаленные для себя.
Для того, кто удалил сообщения - показывается все верно, сообщения исключаются
НО оно исключается и для собеседника, что недолжно быть

В пасте привел пример sql запроса, как его перевести на джангу?
Ребята, помогите, плиз, изи вопрос))
источник

D

Dk in Django [ru] #STAY HOME
Tim
я, видимо, не доконца понимаю тебя. в бд будут храниться относительные пути типа /static/file.txt
Я подумаю, спасибо. Не помню почему полный путь решил хранить
источник

T

Tim in Django [ru] #STAY HOME
Tim
Ребята, помогите, плиз, изи вопрос))
ай ладно, решил так, выглядит как костыль. интуитивно казалось, что exclude так и должен работать

msg_ids = chat.messages.filter(
   messagestatus__is_delete_for_me=True,
   messagestatus__user=request.user,
).values_list('id', flat=True)
queryset = chat.messages.exclude(id__in=msg_ids)
источник

Х

Хриплый фан... in Django [ru] #STAY HOME
Oleg Shleiko
Ого, русифицировали!
?
источник

D

Dk in Django [ru] #STAY HOME
Dk
напридумывают костылей, потом исправляют
А баг был в том, что у меня получалось path/to/static/static/folder
Видимо из бд берёт значение и прогоняет через  to_internal_value
источник

C

Cicerō in Django [ru] #STAY HOME
felki
Пользователь ставит рейтинг фильму, у фильма обновляется поле "средний рейтинг" и "количество голосов"
Не парься, если сигналы подходят, бери сигналы. Загляни в код сигналов и посмотри, там нет ничего такого, что указывало бына их ненадежность, это просто калбеки, цепляющиеся к определенным событиям. Можно и сейв переписать и во вьюхе руками добавить логику, но имхо сигналам тут самое место. Впихивать этот код в сейв модели рейтинга имхо не очень красиво, фактически ты в методе сейв объекта меняешь совершенно другой объект, пахнет говнокодом. А сигнал сразу видно, сразу понятно где объект меняется и видно что с ним происходит.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
Cicerō
Не парься, если сигналы подходят, бери сигналы. Загляни в код сигналов и посмотри, там нет ничего такого, что указывало бына их ненадежность, это просто калбеки, цепляющиеся к определенным событиям. Можно и сейв переписать и во вьюхе руками добавить логику, но имхо сигналам тут самое место. Впихивать этот код в сейв модели рейтинга имхо не очень красиво, фактически ты в методе сейв объекта меняешь совершенно другой объект, пахнет говнокодом. А сигнал сразу видно, сразу понятно где объект меняется и видно что с ним происходит.
источник

RS

Rust Saiargaliev in Django [ru] #STAY HOME
У меня ровно противоположное мнение схожее вот с этой статьей :)
источник

C

Cicerō in Django [ru] #STAY HOME
ну смотри сам :)
источник

f

felki in Django [ru] #STAY HOME
Cicerō
Не парься, если сигналы подходят, бери сигналы. Загляни в код сигналов и посмотри, там нет ничего такого, что указывало бына их ненадежность, это просто калбеки, цепляющиеся к определенным событиям. Можно и сейв переписать и во вьюхе руками добавить логику, но имхо сигналам тут самое место. Впихивать этот код в сейв модели рейтинга имхо не очень красиво, фактически ты в методе сейв объекта меняешь совершенно другой объект, пахнет говнокодом. А сигнал сразу видно, сразу понятно где объект меняется и видно что с ним происходит.
источник