我有三個型號:的Django 1.8深的反向關係查找
class Product(models.Model):
idproduct=models.AutoField(primary_key=True)
productname=models.CharField(max_length=100, blank=False, null=False)
product_state=models.BooleanField(default=True)
class ProductInventory(models.Model):
idinventory=models.AutoField(primary_key=True)
product_idproduct=models.ForeignKey(Product)
storage_idstorage=models.ForeignKey(Storage)
class Sale(models.Model):
idsale=models.AutoField(primary_key=True)
sale_date = models.DateTimeField(default=timezone.now)
inventory_idinventory=models.ForeignKey(ProductInventory)
我想要做的是讓所有已在本月初已售出的產品,我已經試過這樣:
thisdate=datetime.today()
products=Product.objects.filter(product_state=1,productinventory__sale__sale_date__month=thisdate.month).values('pk','productname','productinventory__sale__sale_date')
但首先,它給了我「嵌套查詢不支持」,因此我關閉抽放月過濾器,但之後它給了我一個FieldError:Cannot resolve keyword 'sale' into field
我怎樣才能做到這一點?
你的'Storage'模型在哪裏?另外,你遵循這個特定命名約定的原因是什麼? – electrometro