在 Django 中如何将用户添加到多对多字段中
In Django how to add user to many-to-many filed
我喜欢为我添加到多对多关系的那些用户添加权限。
我有一个 Projekt
模型,我想在其中添加多个用户,如下所示:
class Projekt(models.Model):
def __str__(self):
return str(self.projekt)
projekt = models.TextField(max_length=150)
company_name = models.ForeignKey('Company', on_delete=models.CASCADE, default=1)
jogosult_01 = models.ManyToManyField(User)
date = models.DateField(auto_now_add=True, auto_now=False, blank=True)
我在 Django 管理页面中添加了用户,按住 cmd 然后保存,它显示一切正常。
如果尝试获取这样的值:
{% for u in jogosult %}
{{ u.jogosult_01 }}
{% endfor %}
它说 auth.user none
。
views.py
@login_required
def projects(request):
jogosult = Projekt.objects.filter(jogosult_01_id=request.user).order_by('-date')
context = {
'jogosult': jogosult,
}
return render(request, 'stressz/projects.html', context)
User
个对象可以访问它们相关的 Projekt
个对象:
@login_required
def projects(request):
jogosult = request.user.projekt_set.all() #<-- HERE!
context = {
'jogosult': jogosult,
}
return render(request, 'stressz/projects.html', context)
我喜欢为我添加到多对多关系的那些用户添加权限。
我有一个 Projekt
模型,我想在其中添加多个用户,如下所示:
class Projekt(models.Model):
def __str__(self):
return str(self.projekt)
projekt = models.TextField(max_length=150)
company_name = models.ForeignKey('Company', on_delete=models.CASCADE, default=1)
jogosult_01 = models.ManyToManyField(User)
date = models.DateField(auto_now_add=True, auto_now=False, blank=True)
我在 Django 管理页面中添加了用户,按住 cmd 然后保存,它显示一切正常。
如果尝试获取这样的值:
{% for u in jogosult %}
{{ u.jogosult_01 }}
{% endfor %}
它说 auth.user none
。
views.py
@login_required
def projects(request):
jogosult = Projekt.objects.filter(jogosult_01_id=request.user).order_by('-date')
context = {
'jogosult': jogosult,
}
return render(request, 'stressz/projects.html', context)
User
个对象可以访问它们相关的 Projekt
个对象:
@login_required
def projects(request):
jogosult = request.user.projekt_set.all() #<-- HERE!
context = {
'jogosult': jogosult,
}
return render(request, 'stressz/projects.html', context)