我有一些Django模型,一个Product类和一个Price类。一个产品可以有多个价格,但只有最新的价格!我有一个产品查询,我需要最低的价格和最高的价格,但只有当前的价格。如果产品有2个或更多的价格,它只是我想要的最新价格!Django Queryset获得最低/最高价格!一对多
class Product(models.Model):
productname = models.CharField(max_length=1024)
class Price(models.Model):
product = models.ForeignKey(Product)
price = models.DecimalField(max_digits=10, decimal_places=2)
created = models.DateTimeField(auto_now_add=True)
查询集中的一个示例,其中我想要最低和最高但只有当前价格。 “price__price__gt”也是一样。这也应该只是我希望与之合作的现行价格。
Product.objects.filter(price__price__gt=1000).order_by("price")
谢谢......但我真的很想在产品模型上不添加额外字段的方式,但如果这是唯一的方法,那么我必须这样做。 – pkdkk
此解决方案没有创建额外的字段。 @property方法不会创建数据库字段。或者我误解了你? – user772401
如果你指的是@属性/'current_price',这只是一个python函数来帮助你处理你的模型,数据库不会被触及。 – user772401