I'm trying to filter activities in a task (list of activities) by the assigned user group.
TaskActivityModel.objects.filter(activity__workCenter=request.user.groups)
this gives me a TypeError: Field 'id' expected a number
when I amend the filter parameter to request.user.groups.id
I get an AttributeError: 'ManyRelatedManager' object has no attribute 'id'
. What am I missing?
Each activity has a single group assigned to it. The users can be a in many groups. Could this be the issue
TaskActivityModel
class TaskActivityModel(models.Model):
task = models.ForeignKey(TaskModel, on_delete=models.PROTECT)
activity = models.ForeignKey(ActivityModel, on_delete=models.PROTECT)
startTime = models.DateTimeField(default=timezone.now)
finishTime = models.DateTimeField(null=True)
ActivityModel
class ActivityModel(models.Model):
activityName = models.CharField(max_length=100)
description = models.CharField(max_length=200)
workCenter = models.ForeignKey(Group, on_delete=models.PROTECT)
history = HistoricalRecords()