def reset_choices(question: Question):
Choice.objects.filter(question=question).update(votes=0)def update_choices(choice_votes_tuples: List[Tuple[Choice, int]]):
for (choice, votes) in choice_votes_tuples:
choice.votes = votes
choice.save() # 1 query per Choice!from django.db import connection
def update_choices(choice_votes_tuples: List[Tuple[Choice, int]]):
query = 'UPDATE polls_choice SET votes=%s WHERE id=%s'
values = [(votes, choice.id) for (choice, votes) in choice_votes_tuples]
with connection.cursor() as c:
c.executemany(query, values) # 1 bulk query for all Choicesdef update_choices(choice_votes_tuples: List[Tuple[Choice, int]]):
for (choice, votes) in choice_votes_tuples:
choice.votes = votes
choices = choice_votes_tuples.keys()
Choice.objects.bulk_update(choices, fields=['votes'])Perhaps you will find this package helpful:
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
django-users...@googlegroups.com.
To post to this group, send email to
django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/23de1530-fa9d-49ca-9c4d-ad3c06bb3b04%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.