如果我有以下表格:
class Potter(models.Model):
name = models.CharField()
class Sculpture(models.Model):
potter = models.ForeignKey(Potter)
created = models.DateTimeField()
class Vase(models.Model):
potter = models.ForeignKey(Potter)
created = models.DateTimeField()如何找到具有最小数据库命中量的某个Sculpture或Vase的最新Potter (即,这是对我的问题的过度简化,我有两个以上的表引用Potter__)?
发布于 2013-03-21 17:01:31
假设您有接收波特id的视图:
ordered_sculptures = Sculpture.objects.filter(potter=potter).order_by('-created')
ordered_vases = Vase.objects.filter(potter=potter).order_by('-created')编辑:我可能误解了一些东西,所以如果您想要最新的使用queryset,可以只引用每个queryset的第一个元素(如果它们存在的话):
latest = ordered_sculptures[0]花瓶也是如此。
参考资料:在医生那里
如果为这些查询集定义了默认排序,则另一种方法是反向方法:
latest = Sculpture.objects.filter(potter=potter).reverse()[0]https://stackoverflow.com/questions/15553513
复制相似问题