0

私はモデルでdjango 1.6と一般的な関係を使用します。そして、私はモデルにaggregate機能に問題がある:ここではdjangoでの一般的な関係、集計付きのクエリセット

は、私の見解の一部です:

class EventListView(PageContextMixin, ListView): 
    model = Activity 
    template_name = 'events/eventlist.html' 

    def get_queryset(self): 
     seasons = Season.objects.all() 
     if not self.request.user.is_superuser: 
      seasons = seasons.filter(is_active=True) 
      active_seasons_ids = list(IsActiveFlag.objects.exclude(is_active=False).values_list('id', flat=True)) 
      seasons = list(Season.objects.filter(isactiveflags__id__in=active_seasons_ids)) 
     minmax = seasons.aggregate(Min('start'), Max('end')) 
     min_date = minmax['start__min'] 
     max_date = minmax['end__max'] 

     active_sale_and_cycles_ids = list(SaleAndCycle.objects.exclude(is_sale_active=False).values_list('id', flat=True)) 
     filters_sale = Q(sale_and_cycles__id__in=active_sale_and_cycles_ids) 
     active_is_cyclic_event_ids = list(SaleAndCycle.objects.exclude(is_cyclic_event_active=False).values_list('id', flat=True)) 
     filters_cycle = Q(sale_and_cycles__id__in=active_is_cyclic_event_ids) 
     sales_events_activities = Activity.objects.filter(Q(filters_sale, online=True) | Q(filters_cycle, online=True)) 
     sales_events_ids = sales_events_activities.values_list('id', flat=True) 
     minmax_sales_events_activities = sales_events_activities.aggregate(Min('start'), Max('end')) 
     max_date_sales_events_activities = minmax_sales_events_activities['end__max'] 

私はこの場所でエラーが発生します。

minmax_sales_events_activities = sales_events_activities.aggregate(Min('start'), Max('end')) 

エラー:

no such table: events_saleandcycle 

しかし、id、content_type_id、object_id、position、is_sale_の各フィールドを持つテーブルがデータベースにあります(私はsqliteを使用します)。アクティブ、is_cyclic_event_active、cycle_link

class SaleAndCycle(SortableVAExtra): 
    is_sale_active = models.BooleanField(default=False) 
    is_cyclic_event_active = models.BooleanField(default=False) 
    cycle_link = models.CharField(max_length=255, null=True, blank=True) 

    def __unicode__(self): 
     return str(self.is_sale_active) 
+0

アクティビティモデルを表示できますか? – Marco

+0

どのdjango 1.6を使用していますか?マイナーバージョンとは何ですか? –

答えて

1

注釈(集計)の失敗を説明Djangoの1.6に対するclosed issueがあります。この修正を含むrelevant commitは、Django 1.7a以降にのみ存在します。

あなたの唯一のチャンスはDjango 1.7にアップグレードすることです。

+0

ありがとうSebastian – user2962768

+0

1.6でアノテーションに問題があるのを覚えていた –

関連する問題