fix:安部门和分数进行排序

This commit is contained in:
zty 2024-05-17 16:33:05 +08:00
parent dfd87708da
commit 9222e2ecdf
5 changed files with 51 additions and 6 deletions

View File

@ -0,0 +1,20 @@
# Generated by Django 3.2.12 on 2024-05-17 07:45
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('system', '0023_alter_user_first_name'),
('exam', '0007_auto_20240514_1439'),
]
operations = [
migrations.AddField(
model_name='examrecord',
name='belong_dept',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='examrecord_belong_dept', to='system.organization', verbose_name='所属部门'),
),
]

View File

@ -1,5 +1,5 @@
from django.db import models from django.db import models
from apps.system.models import CommonAModel from apps.system.models import CommonAModel, CommonBModel
from django.contrib.postgres.fields import JSONField from django.contrib.postgres.fields import JSONField
from utils.model import BaseModel from utils.model import BaseModel
from apps.edu.models import Course from apps.edu.models import Course
@ -98,7 +98,7 @@ class Exam(CommonAModel):
return self.name return self.name
class ExamRecord(CommonAModel): class ExamRecord(CommonBModel):
''' '''
考试记录表 考试记录表
''' '''

View File

@ -91,7 +91,7 @@ class ExamListSerializer(ModelSerializer):
class Meta: class Meta:
model = Exam model = Exam
fields = '__all__' fields = '__all__'
#参与考试的 数量 #参与考试的 数量
def get_user_count(self, obj): def get_user_count(self, obj):
total_user_count = 0 total_user_count = 0
@ -128,7 +128,10 @@ class ExamRecordListSerializer(serializers.ModelSerializer):
took_format = serializers.SerializerMethodField() took_format = serializers.SerializerMethodField()
create_by_name = serializers.CharField( create_by_name = serializers.CharField(
source='create_by.name', read_only=True) source='create_by.name', read_only=True)
exam_name = serializers.CharField(
source='exam.name', read_only=True)
blong_dept_name = serializers.CharField(
source='belong_dept.name', read_only=True)
class Meta: class Meta:
model = ExamRecord model = ExamRecord
exclude = ('detail',) exclude = ('detail',)

View File

@ -349,11 +349,13 @@ class ExamRecordViewSet(ListModelMixin, DestroyModelMixin, RetrieveModelMixin, G
perms_map = {'get': '*', 'post': '*', 'delete':'examrecord'} perms_map = {'get': '*', 'post': '*', 'delete':'examrecord'}
queryset = ExamRecord.objects.select_related('create_by') queryset = ExamRecord.objects.select_related('create_by')
serializer_class = ExamRecordListSerializer serializer_class = ExamRecordListSerializer
ordering_fields = ['create_time', 'score', 'took', 'update_time'] ordering_fields = ['create_time', 'score', 'took', 'update_time', 'belong_dept']
ordering = ['-update_time'] ordering = ['-update_time']
search_fields = ('create_by__name', 'create_by__username') search_fields = ('create_by__name', 'create_by__username', 'exam__name', 'belong_dept__name')
filterset_class = ExamRecordFilter filterset_class = ExamRecordFilter
# 排序
def get_serializer_class(self): def get_serializer_class(self):
if self.action == 'retrieve': if self.action == 'retrieve':
return ExamRecordDetailSerializer return ExamRecordDetailSerializer

View File

@ -0,0 +1,20 @@
# Generated by Django 3.2.12 on 2024-05-17 07:45
import datetime
from django.db import migrations, models
from django.utils.timezone import utc
class Migration(migrations.Migration):
dependencies = [
('information', '0040_alter_qualification_change_date'),
]
operations = [
migrations.AlterField(
model_name='qualification',
name='change_date',
field=models.DateField(blank=True, default=datetime.datetime(2024, 5, 17, 7, 45, 18, 898106, tzinfo=utc), null=True, verbose_name='变更日期'),
),
]