iva*_*123 7 django compare filter aggregate-functions
我正在编写一个管理命令,它会根据建议的价格过滤产品的原始价格.
我有一个产品型号,看起来像:
class Suggestion(models.Model):
....
price = models.IntegerField()
class Product(models.Model):
price = models.IntegerField()
suggestions = models.ManyToManyField(Suggestion)
Run Code Online (Sandbox Code Playgroud)
我想过滤所有价格等于最低建议的产品.有点像:
Product.objects.filter(price = minumum(suggestions))
Run Code Online (Sandbox Code Playgroud)
和
我想过滤建议中包含产品原价的产品.有点像:
Product.objects.filter(price__in = self.suggestions)
Run Code Online (Sandbox Code Playgroud)
问题是我不能使用for循环查看每个产品的最小建议,因为你猜我也不能使用对象的自我,那么如何在查询中比较模型的两个字段?
mos*_*lix 10
from django.db.models import F
Product.objects.filter(price__in=F('suggestions'))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6652 次 |
最近记录: |