我有以下型号
class Team(models.Model):
name = models.CharField(max_length=100)
members = models.ManyToManyField(User, related_name="members", blank=True, null=True)
以及以下视图(控制器)
def my_teams(request):
my_list = Team.objects.filter(members=request.user).order_by('name')
return render_to_response('teams/index.html', {'my_list': my_list})
当用户登录时,这非常有效,但我在以匿名用户身份进行测试时收到以下错误。
Exception Value: int() argument must be a string or a number, not 'AnonymousUser'
我如何满足匿名用户的需求?这是在我的模板或视图中处理的吗?
任何有关如何实现这一目标的建议将不胜感激。
我想我可以通过修改我的视图来解决这个问题:
def my_teams(request):
if request.user.is_authenticated():
my_list = Team.objects.filter(members=request.user).order_by('name')
return render_to_response('teams/index.html', {'my_list': my_list})
else:
return render_to_response('teams/index.html', {})
这是不返回任何内容的最佳实践吗?我现在如何在模板中处理这个问题?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)