У меня что-то похожее на следующую модель
class User(Model):
username = CharField(...)
class Event(Model):
event_name = CharField(...)
event_rating = IntegerField
users = ManyToManyField(User, through="UserEventAttendence")
class UserEventAttendence(Model):
user = ForeignKey(User)
event = ForeignKey(Event)
attended = BooleanField()
class EventComments(Model):
name = CharField(...)
content = CharField(...)
event = models.ForeignKey(Event, related_name='eventcomments', on_delete=models.CASCADE)
На мой взгляд, я пытаюсь получить все события, пользователей для каждого события, а затем из этого фильтра отфильтровать события, которые собирается текущий пользователь,Ниже приведен мой текущий запрос (впоследствии он отправляется в сериализатор, а затем отправляется в качестве ответа)
events = models.Event.objects.using(db_to_use).prefetch_related(
Prefetch('users', queryset=models.UserProfile.objects.using(db_to_use))
).prefetch_related(
Prefetch('eventcomments', queryset=models.EventComments.objects.using(db_to_use))
).filter(usereventattendence__user_id=request.user.id)
Но мне нужно как-то добавить поле «Participated» из модели «UserEventAttendence» для каждого события (длятекущий пользователь), но я понятия не имею, как это сделать.