Size: a a a

Django [ru] #STAY HOME

2020 January 09

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Artem Gubatenko
какие методы ты имеешь ввиду?
он сам все настраивает
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Вот эти, наверно
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
tot samiy neizvestniy
Вот эти, наверно
то есть ты предлагаешь создать нужные мне вью отнаследовавшись от стоковых или сделать совсем кастом,
а потом через урлы подменить стоковые на мои? 🤔
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Верно
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
возможно где-то и поможет
спасибо за идею
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Artem Gubatenko
то есть ты предлагаешь создать нужные мне вью отнаследовавшись от стоковых или сделать совсем кастом,
а потом через урлы подменить стоковые на мои? 🤔
этот вариант всегда срабатывает :)
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Я так делал, правда со сторонним пакетом. Работает норм)
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Но зачастую бывает путь проще
источник

tn

tot samiy neizvestniy in Django [ru] #STAY HOME
Правда, иногда костыльно смотрится
источник

FI

Fedor Ivanov in Django [ru] #STAY HOME
Приветствую. Вопрос по учебному проекту, пишу сайт опросник.

На странице, где отображаются все опросы, хочу проверять, голосовал ли пользователь в данном опросе (проверить, есть ли VoteFact от пользователя).

Каким образом можно это реализовать? Модели на скрине.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
объекты юзера и голосования есть ?
источник

FI

Fedor Ivanov in Django [ru] #STAY HOME
Да
источник

DT

Dan Tyan in Django [ru] #STAY HOME
VoteFact.objects.filter(author=user, variant=variant).exists()
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Dan Tyan
VoteFact.objects.filter(author=user, variant=variant).exists()
только на странице со списком всех голосований это будет тяжело для базы.
источник

DT

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

FI

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

DT

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

FI

Fedor Ivanov in Django [ru] #STAY HOME
Dan Tyan
но структура моделей странная
Стоит что-то переделать?
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Fedor Ivanov
Да, я пробовал так действовать
если прям список голосоаний, то что-то типа такого можно попробовтаь VoteFact.objects.filter(author=user).values_list('variant__vote_id')
источник

AG

Artem Gubatenko in Django [ru] #STAY HOME
Fedor Ivanov
Приветствую. Вопрос по учебному проекту, пишу сайт опросник.

На странице, где отображаются все опросы, хочу проверять, голосовал ли пользователь в данном опросе (проверить, есть ли VoteFact от пользователя).

Каким образом можно это реализовать? Модели на скрине.
так должно сработать:
votings = Voting.objects.prefentch_related(
   'votefact_set', 'votefact_set__variant').all()

author = request.user

for voting in votings:
   vote_fact_status = voting.votefact_set.filter(
       author_id=author.id).exists()

   if vote_fact_status:
       print(f'{author.get_full_name()} voted.')
   else:
       print(f"{author.get_full_name()} did not vote.")

но я не уверен насчет votefact_set, т.к. всегда назначаю related_name
источник