나는 Django 모델들, Product 클래스와 Price 클래스를 가지고있다. 제품은 여러 가격을 가질 수 있지만 "최신"가격 만 현재 가격! 가장 낮은 가격과 가장 높은 가격이 필요한 제품 쿼리가 있지만 현재 가격 만 있습니다. 제품에 2 개 이상의 가격이있는 경우 원하는 최신 가격 만 제공됩니다.Django Queryset 최저/최고 가격을 받으십시오! one to many
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
@ property/'current_price'를 말하는 경우, 이것은 모델 작업에 도움이되는 파이썬 함수 일 뿐이며 데이터베이스는 건드리지 않습니다 .. – user772401