2011-10-21 6 views
3

結果[更新:ソフトウェアバージョンのPython 2.7.2、Djangoの1.3.1]をシンプルDjanqoクエリ生成が

は、誰もがこのコンソールのコードを説明できますか?

FinishingStepには、見積もりオブジェクトに対するForeignKeyがありますが、実際には関係ありません。

>>> fins = FinishingStep.objects.filter(quote=jq) 
>>> fins 
[<FinishingStep: Tabbing>, <FinishingStep: Collator>] 

これまでのところ、2つのオブジェクトを持つQuerySetが返されました。

しかし、今混乱。両方のオブジェクトは同じように表示されます。

>>> fins[0] 
<FinishingStep: Collator> 
>>> fins[1] 
<FinishingStep: Collator> 

これをリストに変換して修正します。

>>> fins = list(fins) 
>>> fins 
[<FinishingStep: Tabbing>, <FinishingStep: Collator>] 
>>> fins[0] 
<FinishingStep: Tabbing> 
>>> fins[1] 
<FinishingStep: Collator> 

[更新:クエリには、追加.distinct()も、それを修正します。これは、データベースに2つのアイテムしか存在しないので特に奇妙です。]

これはバグですか?私は何か間違っているのですか?

答えて

2

このチケットは、この動作を説明します。https://code.djangoproject.com/ticket/9006

ちょうどorder_byクエリを使用しています。これは、明示的な順序指定が指定されていない場合、データベースエンジンが任意の適切な行を返すために発生します。だから私はちょうどそのキャッシュから1つを選ぶと思います。

+0

ありがとう、非常に助かりました! – tufelkinder

関連する問題