Запрос с двумя ForeignKeys в модели и фильтрация по одному из ForeignKey
У меня есть три модели:
class SegmentEffort(models.Model):
id = models.BigIntegerField(primary_key=True)
activity = models.ForeignKey(to=Activity)
segment = models.ForeignKey(to=Segment)
class Segment(models.Model):
id = models.BigIntegerField(primary_key=True)
name = models.CharField(max_length=255)
class Activity(models.Model):
id = models.BigIntegerField(primary_key=True)
user = models.ForeignKey(to=settings.AUTH_USER_MODEL)
name = models.CharField(max_length=255)
Я хочу получить все отдельные сегменты из SegmentEffort, где SegmentEffort фильтруется по Activity, принадлежащим определенному пользователю.
Я могу получить список всех идентификаторов сегментов с помощью:
sids = SegmentEffort.objects.filter(activity__user=10).order_by('segment_id').values_list('segment_id',
flat=True).distinct()
Но я не могу разобраться с тем, как получить отдельный сегментный кверисет... Не хватает опыта работы с запросами по двум ForeignKeys в модели (SegmentEffort).
Спасибо за помощь, и не стесняйтесь обращаться за разъяснениями, если вопрос неясен!