我有2个表:Django的查询:加入牌桌2次
- 产品(ID,姓名)
- 属性(ID,PRODUCT_ID,名称,值)
哪有搜索产品时,我会加入2次“属性”表格?由于稍后分页,它们必须在一个查询中。
举例:搜索必须具有2个属性的产品 - 一个用于name=att1, value=value1
,另一个用于name=att2, value=value2
。
源代码:
class Product(models.Model):
product_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, null=False)
class Attribute(models.Model):
attribute_id = models.AutoField(primary_key=True)
product = models.ForeignKey(Product, null=False)
name = models.CharField(max_length=100, null=False)
value = models.CharField(max_length=100, null=False)
完全不工作的查询:
Product.objects.select_related().filter('attribute__name': 'n1', 'attribute__value':'v1').filter('attribute__name': 'n2', 'attribute__value':'v2')
发表您的型号代码。 –
@BurhanKhalid:刚更新了代码。 – LTC