django 1.7, python 3.4 및 postgres 9.4를 사용합니다.값 쿼리 세트가 모델 속성과 일치하지 않는 이유
모델의 속성을 직접 쿼리하면 적절한 값이 반환됩니다. .values ()를 사용하여 동일한 모델을 쿼리 할 때 부적절한 값이 반환됩니다. 예를 들어
:
>>>bomitem = self.itemproduction.billOfMaterials()
>>>for x in bomitem:
>>> x.ratio
>>>>50
>>>>20
>>>>bomitem.values('ratio')
>>>>[{'ratio': 5}, {'ratio': 2}]
자기와 itemproduction는 OneToOneField 관계입니다.
ItemProduction.billOfMaterials() Product.billOfMaterials을 무시()
def billOfMaterials(self):
bom = self.inventoryItem.product.billOfMaterials()
for x in bom:
x.ratio = x.ratio * self.qty
return bom
이 기본적으로 재료의 제품의 빌 (레시피 목록)을 받아 제품의 n 개의 양의 생산을위한 재료의 예상 빌 인물. 또한, 내가 bomitem에 걸러 낼 때, 결과 queryset은 똑같은 부적절한 값을가집니다.
>>>>bomitem.get(component=x)
>>><BOM: Product One: 5>
왜 이런 비정상적인 동작입니까?