本文整理汇总了Python中questions.models.Question.recent_asked_count方法的典型用法代码示例。如果您正苦于以下问题:Python Question.recent_asked_count方法的具体用法?Python Question.recent_asked_count怎么用?Python Question.recent_asked_count使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类questions.models.Question
的用法示例。
在下文中一共展示了Question.recent_asked_count方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_recent_counts_with_filter
# 需要导入模块: from questions.models import Question [as 别名]
# 或者: from questions.models.Question import recent_asked_count [as 别名]
def test_recent_counts_with_filter(self):
"""Verify that recent_asked_count and recent_unanswered_count
respect filters passed."""
now = datetime.now()
question(created=now, locale='en-US', save=True)
q = question(created=now, locale='en-US', save=True)
answer(question=q, save=True)
question(created=now, locale='pt-BR', save=True)
question(created=now, locale='pt-BR', save=True)
q = question(created=now, locale='pt-BR', save=True)
answer(question=q, save=True)
# 5 asked recently, 3 are unanswered
eq_(5, Question.recent_asked_count())
eq_(3, Question.recent_unanswered_count())
# check english (2 asked, 1 unanswered)
locale_filter = Q(locale='en-US')
eq_(2, Question.recent_asked_count(locale_filter))
eq_(1, Question.recent_unanswered_count(locale_filter))
# check pt-BR (3 asked, 2 unanswered)
locale_filter = Q(locale='pt-BR')
eq_(3, Question.recent_asked_count(locale_filter))
eq_(2, Question.recent_unanswered_count(locale_filter))
示例2: test_recent_counts
# 需要导入模块: from questions.models import Question [as 别名]
# 或者: from questions.models.Question import recent_asked_count [as 别名]
def test_recent_counts(self):
"""Verify recent_asked_count and recent unanswered count."""
# create a question for each of past 4 days
now = datetime.now()
question(created=now, save=True)
question(created=now - timedelta(hours=24), save=True, is_locked=True)
q = question(created=now - timedelta(hours=48), save=True)
answer(question=q, save=True)
# 73 hours instead of 72 to avoid random test fails.
question(created=now - timedelta(hours=73), save=True)
# Only 3 are recent from last 72 hours, 1 has an answer.
eq_(3, Question.recent_asked_count())
eq_(1, Question.recent_unanswered_count())
示例3: questions
# 需要导入模块: from questions.models import Question [as 别名]
# 或者: from questions.models.Question import recent_asked_count [as 别名]
def questions(request, template):
"""View the questions."""
filter_ = request.GET.get('filter')
tagged = request.GET.get('tagged')
tags = None
sort_ = request.GET.get('sort', None)
if sort_ == 'requested':
order = '-num_votes_past_week'
elif sort_ == 'created':
order = '-created'
else:
order = '-updated'
question_qs = Question.objects.select_related(
'creator', 'last_answer', 'last_answer__creator')
if not waffle.switch_is_active('hide-total-question-votes'):
question_qs = question_qs.extra(
{'_num_votes': 'SELECT COUNT(*) FROM questions_questionvote WHERE '
'questions_questionvote.question_id = '
'questions_question.id'})
question_qs = question_qs.filter(creator__is_active=1)
if filter_ == 'no-replies':
question_qs = question_qs.filter(num_answers=0, is_locked=False)
elif filter_ == 'replies':
question_qs = question_qs.filter(num_answers__gt=0)
elif filter_ == 'solved':
question_qs = question_qs.exclude(solution=None)
elif filter_ == 'unsolved':
question_qs = question_qs.filter(solution=None)
elif filter_ == 'my-contributions' and request.user.is_authenticated():
criteria = Q(answers__creator=request.user) | Q(creator=request.user)
question_qs = question_qs.filter(criteria).distinct()
elif filter_ == 'recent-unanswered':
# Only unanswered questions from the last 72 hours.
start = datetime.now() - timedelta(hours=72)
question_qs = question_qs.filter(
num_answers=0, created__gt=start, is_locked=False)
else:
filter_ = None
feed_urls = ((reverse('questions.feed'),
QuestionsFeed().title()),)
if tagged:
tag_slugs = tagged.split(',')
tags = Tag.objects.filter(slug__in=tag_slugs)
if tags:
for t in tags:
question_qs = question_qs.filter(tags__name__in=[t.name])
if len(tags) == 1:
feed_urls += ((reverse('questions.tagged_feed',
args=[tags[0].slug]),
TaggedQuestionsFeed().title(tags[0])),)
else:
question_qs = Question.objects.get_empty_query_set()
# Exclude questions over 90 days old without an answer.
oldest_date = date.today() - timedelta(days=90)
question_qs = question_qs.exclude(created__lt=oldest_date, num_answers=0)
# Set the order.
question_qs = question_qs.order_by(order)
try:
with statsd.timer('questions.view.paginate.%s' % filter_):
questions_page = simple_paginate(
request, question_qs, per_page=constants.QUESTIONS_PER_PAGE)
except (PageNotAnInteger, EmptyPage):
# If we aren't on page 1, redirect there.
# TODO: Is 404 more appropriate?
if request.GET.get('page', '1') != '1':
url = build_paged_url(request)
return HttpResponseRedirect(urlparams(url, page=1))
# Recent answered stats
recent_asked_count = Question.recent_asked_count()
recent_unanswered_count = Question.recent_unanswered_count()
if recent_asked_count:
recent_answered_percent = int(
(float(recent_asked_count - recent_unanswered_count) /
recent_asked_count) * 100)
else:
recent_answered_percent = 0
data = {'questions': questions_page,
'feeds': feed_urls,
'filter': filter_,
'sort': sort_,
'tags': tags,
'tagged': tagged,
'recent_asked_count': recent_asked_count,
'recent_unanswered_count': recent_unanswered_count,
'recent_answered_percent': recent_answered_percent}
if (waffle.flag_is_active(request, 'karma') and
#.........这里部分代码省略.........
示例4: questions
# 需要导入模块: from questions.models import Question [as 别名]
# 或者: from questions.models.Question import recent_asked_count [as 别名]
def questions(request, template):
"""View the questions."""
filter_ = request.GET.get("filter")
tagged = request.GET.get("tagged")
tags = None
sort_ = request.GET.get("sort", None)
product_slug = request.GET.get("product")
if sort_ == "requested":
order = ["-num_votes_past_week", "-_num_votes"]
elif sort_ == "created":
order = ["-created"]
else:
order = ["-updated"]
if product_slug:
product = get_object_or_404(Product, slug=product_slug)
else:
product = None
question_qs = Question.objects.select_related("creator", "last_answer", "last_answer__creator")
if not waffle.switch_is_active("hide-total-question-votes") or sort_ == "requested":
question_qs = question_qs.extra(
{
"_num_votes": "SELECT COUNT(*) FROM questions_questionvote WHERE "
"questions_questionvote.question_id = "
"questions_question.id"
}
)
question_qs = question_qs.filter(creator__is_active=1)
if filter_ == "no-replies":
question_qs = question_qs.filter(num_answers=0, is_locked=False)
elif filter_ == "replies":
question_qs = question_qs.filter(num_answers__gt=0)
elif filter_ == "solved":
question_qs = question_qs.exclude(solution=None)
elif filter_ == "unsolved":
question_qs = question_qs.filter(solution=None)
elif filter_ == "my-contributions" and request.user.is_authenticated():
criteria = Q(answers__creator=request.user) | Q(creator=request.user)
question_qs = question_qs.filter(criteria).distinct()
elif filter_ == "recent-unanswered":
# Only unanswered questions from the last 72 hours.
start = datetime.now() - timedelta(hours=72)
question_qs = question_qs.filter(num_answers=0, created__gt=start, is_locked=False)
else:
filter_ = None
feed_urls = ((reverse("questions.feed"), QuestionsFeed().title()),)
if tagged:
tag_slugs = tagged.split(",")
tags = Tag.objects.filter(slug__in=tag_slugs)
if tags:
for t in tags:
question_qs = question_qs.filter(tags__name__in=[t.name])
if len(tags) == 1:
feed_urls += (
(reverse("questions.tagged_feed", args=[tags[0].slug]), TaggedQuestionsFeed().title(tags[0])),
)
else:
question_qs = Question.objects.get_empty_query_set()
# Exclude questions over 90 days old without an answer.
oldest_date = date.today() - timedelta(days=90)
question_qs = question_qs.exclude(created__lt=oldest_date, num_answers=0)
# Filter by product.
if product:
# This filter will match if any of the products on a question have the
# correct id.
question_qs = question_qs.filter(products__id__exact=product.id)
# Set the order.
question_qs = question_qs.order_by(*order)
try:
with statsd.timer("questions.view.paginate.%s" % filter_):
questions_page = simple_paginate(request, question_qs, per_page=constants.QUESTIONS_PER_PAGE)
except (PageNotAnInteger, EmptyPage):
# If we aren't on page 1, redirect there.
# TODO: Is 404 more appropriate?
if request.GET.get("page", "1") != "1":
url = build_paged_url(request)
return HttpResponseRedirect(urlparams(url, page=1))
# Recent answered stats
recent_asked_count = Question.recent_asked_count()
recent_unanswered_count = Question.recent_unanswered_count()
if recent_asked_count:
recent_answered_percent = int((float(recent_asked_count - recent_unanswered_count) / recent_asked_count) * 100)
else:
recent_answered_percent = 0
# List of products to fill the selector.
product_list = Product.objects.filter(visible=True)
#.........这里部分代码省略.........