Tôi đang viết một lệnh quản lý sẽ lọc giá gốc của sản phẩm với giá được đề xuất.Làm cách nào để so sánh hai trường của mô hình trong truy vấn?
Tôi có một mô hình sản phẩm trông giống như:
class Suggestion(models.Model):
....
price = models.IntegerField()
class Product(models.Model):
price = models.IntegerField()
suggestions = models.ManyToManyField(Suggestion)
Tôi muốn lọc tất cả các sản phẩm có giá tương đương với đề nghị minumum. Một cái gì đó nên thích:
Product.objects.filter(price = minumum(suggestions))
VÀ
Tôi muốn lọc sản phẩm mà những gợi ý có giá gốc của sản phẩm. Một cái gì đó nên thích:
Product.objects.filter(price__in = self.suggestions)
Vấn đề là tôi không thể sử dụng cho vòng lặp để tìm gợi ý minumum của mỗi sản phẩm và như bạn đoán tôi không thể sử dụng đối tượng của tự một trong hai, vậy làm thế nào tôi có thể so sánh hai trường của mô hình trong truy vấn?
Cảm ơn! Điều đó hoạt động tốt. Tuy nhiên, có một lỗi nhỏ: các đề xuất phải nằm trong dấu ngoặc kép bên trong F ('đề xuất'). –