workouttest_backoffice/aitrainer_backoffice/controlling/admin/frequent_exercises.py
Tibor Bossanyi (Freelancer) 1a7ce950c8 V1.30.11 models simplification
2021-10-02 22:55:36 +02:00

37 lines
1.3 KiB
Python

from django.contrib import admin
from django.db.models import Count
import os
from django.utils.translation import ugettext_lazy as _
SETTING = os.environ['WORKOUTTEST_SETTING']
if SETTING == "PROD" :
from aitrainer_backoffice.aitrainer_backoffice.models.exercise_type import ExerciseType
from aitrainer_backoffice.aitrainer_backoffice.models.exercises import Exercises
else:
from aitrainer_backoffice.models.exercise_type import ExerciseType
from aitrainer_backoffice.models.exercises import Exercises
class FrequentExerciseType(ExerciseType):
@property
def exercise_count(self):
count = Exercises.objects.filter(exercise_type_id=self.exercise_type_id).count()
return count
class Meta:
proxy = True
verbose_name = _("Frequent Exercise")
verbose_name_plural = _("Frequent Exercises")
class FrequentExerciseTypeAdmin(admin.ModelAdmin):
list_display = ('exercise_type_id', 'name', 'exercise_count')
def get_queryset(self, request):
qs = super(FrequentExerciseTypeAdmin, self).get_queryset(request) #.annotate(_exercise_count=Count("exercise_count",distinct=True ))
return qs.filter(active=True)
#exercise_count.admin_order_field = '_exercise_count'
admin.site.register(FrequentExerciseType, FrequentExerciseTypeAdmin)
admin.autodiscover()