我有这些模范关系
class ExerciseCategory(models.Model):
owner = models.ForeignKey(get_user_model(), on_delete=models.SET_NULL, blank=True, null=True)
name = models.CharField(max_length=100)
class UserExercises(models.Model): #Through table for the many-to-many relationship between User and Exercise
user = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, related_name="user")
exercise = models.ForeignKey('Exercise', on_delete=models.CASCADE)
class Exercise(models.Model):
category= models.ManyToManyField(ExerciseCategory, through='CategoryExercisesThrough',blank=True, null=True)
assignee = models.ManyToManyField(get_user_model(), blank=True, null=True, through=UserExercises, related_name="assignee", through_fields=('exercise', 'user'))
class CategoryExercisesThrough(models.Model): #Through table for the many-to-many relationship between ExerciseCategory and Exercise
category= models.ForeignKey(ExerciseCollections, on_delete=models.CASCADE)
exercise = models.ForeignKey(Exercise, on_delete=models.CASCADE)
我想要获取给定用户的所有UserExercise,然后在我的模板中按类别分组显示它们,所以如果我有:{Ex1: {category: ["C1", "C2"]}, Ex2: {category: "C2"}}
,我希望它们像这样重新排序:{"C1": ["Ex1"], "C2": ["Ex2", "Ex1"]}