我有一个私人用户到用户的消息传递模型。(摄影师是 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 是收件人。
由此,我只想得到这两条消息中的一条,这是最新的一条。我怎样才能做到这一点?