views.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:django-tips 作者: trojsten 项目源码 文件源码
def get_current_tip_of_day(request):
    user = request.user
    if user.is_anonymous():
        return Response()
    try:
        visibility_filter = {'for_staff': True} if user.is_staff else {'for_nonstaff': True}
        site_filter = None
        if isinstance(get_current_site(request), Site):
            site_filter = Q(sites=None) | Q(sites__id__exact=get_current_site(request).id)

        available_tips = TipOfDay.objects.filter(
            active=True,
            **visibility_filter
        ).exclude(
            seen_by=user.pk,
        ).filter(
            Q(groups=None) |
            Q(groups__in=user.groups.all())
        ).filter(site_filter).order_by('id')
        serializer = TipOfDaySerializer(available_tips[0])
        return Response(serializer.data)
    except IndexError:
        return Response()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号