Я работаю над одним сайтом с вопросами и ответами. Я думаю, что у меня есть проблемы с кодом. Я отправляю наборы запросов всех объектов, когда нужен только один.
Как отправка всех ответов на один вопрос, когда нужен только один. Я печатаю только одну.
Так что в это время это повлияет на все записи базы данных или только на записи, которые я буду печатать в шаблоне?
View.py
questions = Question.objects.all()
context = {
'questions':questions
}
return render(request,'index.html',context=context)
template_tag.py
@register.simple_tag
def getmostvotedanswer(answers):
answer = answers.order_by('-vote')[0]
return answer.answer
index.html
<p>{% getmostvotedanswer question.answer_set.all %}</p>
В этом я отправляю все ответы, но тольконеобходимо повлияет ли это на производительность базы данных?
Модель вопроса
class Question(models.Model):
question = models.CharField(max_length=400)
uid = models.ForeignKey("User",on_delete=models.SET_DEFAULT,default=1,related_name='user_q_id_set')
vote = models.IntegerField(default=0)
created_at = models.DateTimeField(auto_now_add=True)
catitle = models.ForeignKey("Category", on_delete=models.CASCADE)
editUser = models.ManyToManyField("User",related_name='user_q_edit_set',null=True,blank=True)
Модель ответа
class Answer(models.Model):
answer = models.TextField()
qid = models.ManyToManyField("Question")
uid = models.ForeignKey("User",on_delete=models.CASCADE,related_name='user_a_id_set')
vote = models.IntegerField(default=0)
created_at = models.DateTimeField(auto_now_add=True)
editUser = models.ManyToManyField("User",related_name='user_a_edit_set',null=True,blank=True)