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"]