Здравствуйте. Подскажите, как в django произвести группировку таблицы по внешним ключам так, чтобы в этих полях остались ссылки на внешнюю таблицу?
Есть модель сообщений:
class Message(models.Model):
id = models.AutoField(auto_created=True,primary_key=True)
sender_id = models.ForeignKey(MyUser, on_delete=models.CASCADE, related_name="message_sender_id")
receiver_id = models.ForeignKey(MyUser, on_delete=models.CASCADE, related_name="message_receiver_id")
number = models.PositiveIntegerField(default=0)
text = models.TextField(max_length=500,default="")
sending_time = models.DateTimeField(auto_now_add=True)
Группирую её по полям sender_id, receiver_id, но при группировке они принимают значения primary_key из таблицы MyUser. Мне же надо, чтобы осталась возможность для объектов Message, отобранных по queryset, обращаться напрямую к полям модели MyUser.
Сам запрос:
dialogs_list = Message.objects.filter(Q(receiver_id=request.user.id)
|Q(sender_id=request.user.id)).values('receiver_id','sender_id','text').annotate(
sending_time=Max('sending_time')).order_by('sending_time')
Т.е. надо, чтобы работало в шаблоне:
{% for dialog in dialogs_list %}
{{dialog.sender_id.user}}
{% endfor %}
где user - одно из полей таблицы MyUser.