내가 가진 모델 필드에서 값을 얻을 모델 :장고는
class Question(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=120)
description = models.TextField()
category = models.ForeignKey('Category')
answers = models.ManyToManyField('Answer',related_name='answer_name', blank=True)
post_date = models.DateTimeField(auto_now=True)
published = models.BooleanField(default=False)
vote = models.IntegerField(default=0) # Field that denotes the no of vote for particular question
def __unicode__(self):
return self.title
그리고 내보기 : 내가 원하는 여기
def VoteCountView(request, pk):
ques = Question.objects.get(id=pk)
cpk = ques.category.id
valid_user = ques.user.username
if request.user.is_general_user:
if request.user.username == valid_user:
messages.warning(request, "You cannot vote your own question")
return redirect("question-detail", pk, cpk)
else:
vote_limit = Question.objects.values_list("vote", flat=True).filter(pk=pk).filter(user=request.user)#[0][0]
print "vote count"
print vote_limit
if vote_limit < 1:
vote_count = ques
print vote_count.user
count = vote_count.vote
count +=1
vote_count.vote = count
vote_count.user = request.user
print vote_count.user
vote_count.save()
else:
messages.warning(request,"You cannot vote twice")
return redirect("question-detail", pk, cpk)
else:
messages.warning(request,"You are not allowed to vote a question")
return redirect("question-detail", pk, cpk)
는 질문을 게시 사용자를 제외하고 질문을 투표 할 수있는 다른 사용자가 . 다른 사용자가 질문에 투표하면 목록 색인이 범위를 벗어납니다. 이 모델에서이 목표를 달성 할 수 있습니까? 아니면 투표를 위해 별도의 모델을 만들어야합니다.
또한 로그인하지 않았거나 일반적인 용도가 아닌 사용자의 투표에 사용자 개체의 특성이 없다면 is_general_user ??
아무도 나를 도울 수 있습니까 ??? 사물의
목록 색인이 범위를 벗어나는 이유 : 쿼리 세트가 결과를 반환하지 않기 때문에 – Anentropic
"일반 사용자가 로그인하지 않았거나 일반 사용자가 아닌 경우 투표하면 사용자 개체에 특성이 없음 is_general_user"이 표시됨 ... 예, 명백하게 – Anentropic