feat:统计参与考试和提交考试的数量

This commit is contained in:
zty 2024-05-17 14:58:44 +08:00
parent 96e8385524
commit dfd87708da
2 changed files with 19 additions and 20 deletions

View File

@ -87,10 +87,12 @@ class ExamListSerializer(ModelSerializer):
paper_ = PaperSerializer(source='paper', read_only=True)
course_ = CourseSerializer(source='course_name', read_only=True)
user_count = serializers.SerializerMethodField()
submit_count = serializers.SerializerMethodField()
class Meta:
model = Exam
fields = '__all__'
#参与考试的 数量
def get_user_count(self, obj):
total_user_count = 0
for p in obj.participant_dep.all():
@ -98,6 +100,12 @@ class ExamListSerializer(ModelSerializer):
total_user_count += user_count
return total_user_count+obj.participant_user.count()
# 已经提交的数量
def get_submit_count(self, obj):
exam = ExamRecord.objects.select_related('exam').filter(exam=obj, is_submited=True)
submit_user = len(set([i.create_by for i in exam]))
return submit_user
class ExamDetailSerializer(ModelSerializer):
create_by_name = CharField(source='create_by.name', read_only=True)

View File

@ -10,32 +10,23 @@ DATABASES = {
'PORT': '5432',
},
# 'default': {
# 'ENGINE': 'django.db.backends.postgresql',
# 'NAME': 'cma',
# 'USER': 'cma',
# 'PASSWORD': 'cma123',
# 'HOST': '172.16.80.102',
# # 'HOST': '1.203.161.102',
# 'PORT': '5432',
# }
# 'ENGINE': 'django.db.backends.postgresql',
# 'NAME': 'cma',
# 'USER': 'cma',
# 'PASSWORD': 'cma123',
# 'HOST': '172.16.80.102',
# # 'HOST': '1.203.161.102',
# 'PORT': '5432',
# }
# 'default': {
# 'ENGINE': 'django.db.backends.postgresql',
# 'NAME': 'cma',
# 'USER': 'cma',
# 'PASSWORD': 'cma123',
# #'HOST': '49.232.14.174',
# 'HOST': '127.0.0.1',
# 'HOST': '172.16.80.102',
# # 'HOST': '127.0.0.1',
# 'PORT': '5432',
# }
# 'default': {
# 'ENGINE': 'django.db.backends.postgresql',
# 'NAME': 'cma',
# 'USER': 'cma',
# 'PASSWORD': 'cma123',
# 'HOST': '127.0.0.1',
# # 'HOST': '1.203.161.102',
# 'PORT': '5432',
# }
}