2016-06-23 6 views
0

Djangoで非常に異常なエラーがあります。私は、Djangoのdevのサーバーを実行して、私は、このビューにまっすぐに行くとき、それは最初の時間のために働く今Django 1.8.13 querysetが一度動作して失敗しました

return (
    Post.objects 
    .select_related(
     'channel', 
    ) 
    .prefetch_related(
     Prefetch('poll', queryset=(
      Poll.objects.prefetch_related('choice_set') 
     )), 
     Prefetch('author__profile', queryset=(
      UserProfile.objects 
      .prefetch_related(
       Prefetch('major', queryset=Major.objects.only('name')), 
       Prefetch('university', queryset=University.objects.only(
        'longname', 
       )), 
      ) 
      .only(
       ... 
      ) 
     )), 
    ) 
    .only(
     ... 
    ) 
) 

そして、オブジェクトが正しい:

私のクエリセットは次のようになります。次回は、それがで失敗します。このビューのテストは、私はすべてのテストを実行すると、それが失敗した(とそのない最初に)、それは動作しますが、最初に実行された場合

AttributeError: Cannot find ‘author’ on UserProfile_Deferred_campaign_id_city_id_country8db75c0f1ddc0935cac6f1c9c2d0cda2 object, ‘author__profile__major’ is an invalid parameter to prefetch_related() 

同じことは、ユニットテストです。

私は間違っていますか? 1回目と2回目の試行の間に新しいオブジェクトが作成されることはありません。

答えて

関連する問題