简体   繁体   English

形成一对多关系的Django queryset

[英]Forming Django queryset for one-to-many relation

I have a Django model defining a photo: 我有一个定义照片的Django模型:

class Pic(models.Model):
    image = models.ImageField(upload_to=upload_pic_to_location, storage=OverwriteStorage())
    owner = models.ForeignKey(User)
    upload_time = models.DateTimeField(db_index=True, auto_now_add=True)

And another defining a message the above photo can be sent as: 上面的照片中另一个定义消息的消息可以发送为:

class PicMessage(models.Model):
    which_pic = models.ForeignKey(Pic)
    sending_time = models.DateTimeField(auto_now_add=True)

Ie same pic can be sent as a different message multiple times. 即同一张图片可以多次发送为不同的消息。 What's the most efficient way to find the most recent PicMessage sent by a given user ? 查找给定user发送的最新 PicMessage的最有效方法是什么?


I'm trying this: PicMessage.objects.filter(which_pic__in=Pic.objects.filter(owner=self.request.user)).latest('sending_time') 我正在尝试: PicMessage.objects.filter(which_pic__in=Pic.objects.filter(owner=self.request.user)).latest('sending_time')

PicMessage.objects.filter(which_pic__owner=user).order_by('-sending_time').first()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM