FilterView(filters.py)を使うと、検索フォームに表示される検索項目の名前(ラベル名)は、モデルで定義した名前になります。
例えば、モデルに、
1 2 3 4 5 6 7 8 |
class Attendance(models.Model): : # 出勤日時 attendance_at = models.DateTimeField( verbose_name='出勤日時', default=timezone.now, ) : |
と書いてあれば、verbose_nameの値(出勤日時)になります。verbose_nameが無い場合はモデル名(attendance_at)になります。
このラベル名を変更する場合は、filters.pyに以下のように追記します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
class AttendanceStatsFilter(FilterSet): order_by = MyOrderingFilter( # tuple-mapping retains order fields=( ('attendance_at', 'attendance_at'), ), field_labels={ 'attendance_at': '出勤日時', }, label='並び順' ) class Meta: model = Attendance # 検索ボックスに出すフィールド fields = ( 'attendance_at', ) """ 追記部分 """ def __init__(self, *args, **kwargs): super(AttendanceStatsFilter, self).__init__(*args, **kwargs) self.filters['attendance_at'].label="表示したいラベル名" |
参考サイト)