我有一个帐户模型,默认情况下有一个字段is_active(布尔值), 以及具有外键账户的公司模型:
class Account(Meta):
name = models.CharField(max_length=255)
is_active = models.BooleanField(default=False)
在CBV的get
方法中,我检查用户是否处于活动状态,如果不是,我将其重定向到不同的网页。
if not account.is_active:
return redirect('accounts:inactive')
return account
地址:
path('inactive/', AccountInactiveView.as_view(), name='inactive'),
重定向视图:
class AccountInactiveView(TemplateView):
template_name = 'accounts/account_inactive.html'
我不希望任何人直接访问重定向页面/网址,特别是如果帐户处于有效状态字段为True。
答案 0 :(得分:1)
SELECT
seller_id,
COUNT(volume) AS volume
FROM
table
GROUP BY
seller_id
HAVING
COUNT(volume) >= 10
ORDER BY
volume DESC
方法应返回get()
。在那里返回HttpResponse
是没有意义的。也许你想打电话给account
:
super()
最好覆盖def get(self, request, *args, **kwargs):
account = self.request.user.account
if not account:
raise Http404
if not account.is_active:
return redirect('accounts:inactive')
return super(MyView, self).get(request, *args, **kwargs)
,以便对dispatch
和get
请求进行检查。