1

我有一个私人用户到用户的消息传递模型。(摄影师是 Django 用户的外键)

class Message(models.Model):
     sender = models.ForeignKey(Photographer)
     recipient = models.ForeignKey(Photographer, related_name= 'messagedby', blank=True)
     postTime = models.DateTimeField(auto_now_add=True, null=True, blank =True)
     message = models.CharField(max_length=500)

     def __unicode__(self):
          return self.message

如您所见,每条消息都有一个发件人和一个收件人。发件人和收件人都可以查看同一封邮件。

我需要为每对用户检索最新消息的不同列表。

目前我可以检索不同的对,但它返回的结果比我想要的要多:

queryset = Message.objects.all().distinct('sender', 'recipient')

同一对用户会收到多条消息。例如,

John 是发件人,Jane 是收件人。

在另一条返回的消息中,

Jane 是发件人,John 是收件人。

由此,我只想得到这两条消息中的一条,这是最新的一条。我怎样才能做到这一点?

4

1 回答 1

-2

您正在寻找.distinct()

文件

于 2013-05-14T21:45:06.263 回答