当前用户创建的Django请求对象
我试图在当前登录用户可以查看他们创建的团队的位置进行查询。因此,我试图打印一个UserTeams列表,其中UserID=当前用户的ID。我知道我需要使用我为团队创建的“所有者”字段,尽管我真的不知道在哪里/做什么 以下是我的看法:当前用户创建的Django请求对象,django,Django,我试图在当前登录用户可以查看他们创建的团队的位置进行查询。因此,我试图打印一个UserTeams列表,其中UserID=当前用户的ID。我知道我需要使用我为团队创建的“所有者”字段,尽管我真的不知道在哪里/做什么 以下是我的看法: def teamsview(request): query = UserTeams.objects.filter(userID=request.user) return render(request, 'teammanager/teams.ht
def teamsview(request):
query = UserTeams.objects.filter(userID=request.user)
return render(request, 'teammanager/teams.html', {
"teams": query})
我的团队和用户团队模型:
class Team(models.Model):
name = models.CharField(max_length=100)
venue = models.CharField(max_length=100)
countryID = models.ForeignKey(Countries, on_delete=models.CASCADE)
owner = models.ForeignKey(User)
def __str__(self):
return self.name
class UserTeams(models.Model):
userID = models.ForeignKey(User,on_delete=models.CASCADE)
teamID = models.ForeignKey(Team,on_delete=models.CASCADE)
和我的HTML:
{%for team in userteams%}
<h3><a href='/teams/{{userteam.id}}'>{{team.name}}</a></h3>
{%endfor%}
{%for userteams%}
{%endfor%}
您确定需要UserTeams
型号吗?您的团队
型号已具有指向用户
型号的外键:
class Team(models.Model):
...
owner = models.ForeignKey(User)
因此,在您看来,您可以:
from django.contrib.auth.decorators import login_required
@login_required
def teamsview(request):
query = Teams.objects.filter(owner=request.user)
return render(request, 'teammanager/teams.html', {
"teams": query})
login\u required
decorator确保只有登录的用户才能访问视图
然后在模板中,循环通过teams
,以匹配视图中的{“teams”:query}
上下文
{% for team in teams %}
<h3><a href='/teams/{{ team.id }}'>{{team.name}}</a></h3>
{% endfor %}
{%用于团队中的团队%}
{%endfor%}