From e8b914d556acd1553c222294bb850d42840666cf Mon Sep 17 00:00:00 2001 From: zty Date: Fri, 12 Sep 2025 10:19:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20ofm=20=E5=A2=9E=E5=8A=A0=E6=A1=A3?= =?UTF-8?q?=E6=A1=88=E5=8F=B0=E8=B4=A6=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ofm/filters.py | 12 ++++++++++-- apps/ofm/models.py | 1 - apps/ofm/views.py | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/apps/ofm/filters.py b/apps/ofm/filters.py index 1910303c..279d88bd 100644 --- a/apps/ofm/filters.py +++ b/apps/ofm/filters.py @@ -1,5 +1,5 @@ from django_filters import rest_framework as filters -from apps.ofm.models import MroomBooking +from apps.ofm.models import MroomBooking, BorrowRecord from .models import LendingSeal from apps.utils.filters import MyJsonListFilter @@ -21,4 +21,12 @@ class SealFilter(filters.FilterSet): class Meta: model = LendingSeal - fields = ['seal'] \ No newline at end of file + fields = ['seal'] + + +class BorrowRecordFilter(filters.FilterSet): + file_name = filters.CharFilter(label='按文件名称查询', field_name="borrow_file__name", lookup_expr='icontains') + borrow_user = filters.CharFilter(label='按借阅人查询', field_name="create_by__name", lookup_expr='icontains') + class Meta: + model = BorrowRecord + fields = ['file_name', 'borrow_user'] \ No newline at end of file diff --git a/apps/ofm/models.py b/apps/ofm/models.py index 5230970a..4fa2b98d 100644 --- a/apps/ofm/models.py +++ b/apps/ofm/models.py @@ -97,7 +97,6 @@ class FileRecord(CommonBDModel): class BorrowRecord(CommonBDModel): """TN: 借阅、复印、查阅记录""" borrow_file = models.ManyToManyField(FileRecord, related_name="borrow_records") - borrow_user = models.ForeignKey(User, on_delete=models.CASCADE, related_name="borrow_user") borrow_date = models.DateField('借阅日期', null=True, blank=True) return_date = models.DateField('归还日期', null=True, blank=True) contacts = models.CharField('借阅人电话', max_length=50, validators=[phone_validator], null=True, blank=True) diff --git a/apps/ofm/views.py b/apps/ofm/views.py index a03e0734..a3242509 100644 --- a/apps/ofm/views.py +++ b/apps/ofm/views.py @@ -10,7 +10,7 @@ from .serializers import (MroomSerializer, MroomBookingSerializer, MroomSlotSeri from rest_framework.decorators import action from apps.utils.mixins import CustomListModelMixin from rest_framework.exceptions import ParseError -from apps.ofm.filters import MroomBookingFilterset, SealFilter +from apps.ofm.filters import MroomBookingFilterset, SealFilter, BorrowRecordFilter class MroomViewSet(CustomModelViewSet): @@ -144,7 +144,7 @@ class FileborrowViewSet(CustomModelViewSet): """ queryset = BorrowRecord.objects.all() serializer_class = BorrowRecordSerializer - filterset_fields = ["borrow_file", "borrow_user"] + filterset_fields = BorrowRecordFilter ordering = ["create_time"] From ebd125ca1dda01ec2bd423b455355394e6782219 Mon Sep 17 00:00:00 2001 From: zty Date: Fri, 12 Sep 2025 10:32:12 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20ofm-=E4=BF=AE=E6=94=B9=20=20-?= =?UTF-8?q?=E6=A1=A3=E6=A1=88=E5=80=9F=20filterset=5Fclass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ofm/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/ofm/views.py b/apps/ofm/views.py index a3242509..9def8c0c 100644 --- a/apps/ofm/views.py +++ b/apps/ofm/views.py @@ -144,7 +144,7 @@ class FileborrowViewSet(CustomModelViewSet): """ queryset = BorrowRecord.objects.all() serializer_class = BorrowRecordSerializer - filterset_fields = BorrowRecordFilter + filterset_class = BorrowRecordFilter ordering = ["create_time"]