我正在创建一个Scrum板应用程序。
一个组织可以有多个董事会,一个董事会可以有许多任务。
我正在尝试创建一个视图,其中包含一个组织所在的所有任务。
为了简化:
各种应用的models.py
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
class Board(models.Model):
name = models.CharField(max_length=100)
organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
class Organization(models.Model):
name = models.CharField(max_length=100)
class Task(models.Model):
name = models.CharField(max_length=100)
board = models.ForeignKey(Board, on_delete=models.CASCADE)
views.py
def home(request):
tasks = Task.objects.filter(**NOT SURE HOW TO FILTER**)
context = {
'tasks': tasks,
}
return render(request, 'tasks/home.html', context)
当前,我正在**NOT SURE HOW TO FILTER**
中尝试board.organization=request.user.profile.organization
。
但是,出现错误SyntaxError: expression cannot contain assignment, perhaps you meant "=="?
这似乎是由于board.organization
引起的。一方面,我需要通过任务委员会来参考组织。另一方面,Django不接受这一点。
我该如何克服这个问题?
答案 0 :(得分:1)
尝试一下
tasks = Task.objects.filter(board__organization=request.user.profile.organization)
注意:您应该使用@login_required(...)
装饰器来确保用户身份验证