婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > django filters實現數據過濾的示例代碼

django filters實現數據過濾的示例代碼

熱門標簽:騰訊外呼線路 廣告地圖標注app 哈爾濱ai外呼系統定制 唐山智能外呼系統一般多少錢 公司電話機器人 白銀外呼系統 海南400電話如何申請 激戰2地圖標注 陜西金融外呼系統

常用

當前循環. 作用
default 數據為空時設置默認值
length 取變量長度
filesizeformat 文件大小轉成可讀
slice 從指定位置到指定位切片
date datetime取到的時間,轉成指定格式
safe 防止XSS攻擊、加上safe才能傳標簽
truncatechars 取摘顯示一段剩下的…

例子

{#格式   值|函數#}
{#    如果沒有值,那么使用默認值#}
    p>{{ bucunzai|default:'空的哦' }}/p>

{#    取出變量長度#}
    q>{{ name }}--{{ name|length }}/q>

{#      文件大小轉換成可讀型  kb 自動轉成bm、g、tb#}
    p>文件大小{{ file_size|filesizeformat }}/p>

{#    切片 從指定位置到指定位 ,例:第3位到-2位#}
    p>切片:{{ slice_str|slice:'3:-2' }}/p>

{#    把datetime取到的時間,轉成指定格式#}
    p>格式化:{{ now|date:'Y-m-d H:i:s' }}/p>

{#    如果后端內容包含標簽,那么加上safe 才能轉義(防止用戶直接加script標簽作弊)防XSS攻擊#}
    p>{{ h_html|safe }}/p>

{#    取摘要只顯示一段,指定取長度后面...例:120個字符 #}
    p>長文本:{{ p_str|truncatechars:12 }}/p>

1、視圖

class UserView(ListAPIView):
    """用戶列表"""
    queryset = User.objects.all()
    serializer_class = UserSerializer
    filter_backends = (DjangoFilterBackend,)
    filter_class = UserMonthFilter  # 指定過濾類

2、過濾類

class RobotFilter(django_filters.FilterSet):
    # 使用過濾:URL?created_start_time=2020_01-20created_end_time=2020_01-21
    robot_id = django_filters.CharFilter(field_name='id')
    machine_id = django_filters.CharFilter(field_name='machine_id')
    city = django_filters.CharFilter(field_name='city')
    # lookup_expr(可選)為判斷條件,field_name(必選)為模型類屬性,created_time查詢字符串
    created_time= django_filters.CharFilter(field_name='created_at', lookup_expr='startswith')
    created_start_time = django_filters.DateTimeFilter(field_name='created_at', lookup_expr='gt')
    created_end_time = django_filters.DateTimeFilter(field_name='created_at', lookup_expr='lt')
    problem_isnull = django_filters.BooleanFilter(field_name='problem', lookup_expr='isnull')
    name = django_filters.CharFilter(lookup_expr='iexact')  # iexact表示精確匹配, 并且忽略大小寫
    author = django_filters.CharFilter(lookup_expr='icontains') #icontains表示模糊查詢(包含),并且忽略大小寫
    price = django_filters.NumberFilter(look_expr='exact')  #exact表示精確匹配
    task_res_state = django_filters.CharFilter(method="get_task_res_state")
    
    def get_task_res_state(self, queryset, *arg):
        if str(arg[1]) == "0":  # arg[1]=('task_res_state', '0')
            task_res = (1, 2, 3)
        else:
            task_res = (0, 4, 5, 6)
        print(task_res)
        queryset = queryset.filter(task_res__in=task_res)
        return queryset
    class Meta:
        model = Robot
        fields = ['robot_id', 'machine_id', "city", "created_start_time", "created_end_time", 'created_time',
                  'firmware_version', 'state', "robot_type", "hardware_version", "exist_map", 'task_res_state']

到此這篇關于django filters實現數據過濾的示例代碼的文章就介紹到這了,更多相關django filters 數據過濾 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python的Django框架中的數據過濾功能

標簽:惠州 上海 鷹潭 常德 黑龍江 四川 黔西 益陽

巨人網絡通訊聲明:本文標題《django filters實現數據過濾的示例代碼》,本文關鍵詞  django,filters,實現,數據,過濾,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《django filters實現數據過濾的示例代碼》相關的同類信息!
  • 本頁收集關于django filters實現數據過濾的示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 获嘉县| 岫岩| 巴里| 四平市| 绍兴市| 洛川县| 东光县| 沁水县| 岗巴县| 贵阳市| 肃宁县| 蓝田县| 岚皋县| 同仁县| 大理市| 资源县| 吴江市| 二连浩特市| 南昌市| 长丰县| 广德县| 元朗区| 台前县| 同江市| 伊金霍洛旗| 清原| 睢宁县| 永和县| 安吉县| 临沧市| 卓尼县| 清远市| 潮安县| 武功县| 阜新市| 比如县| 固始县| 仙游县| 调兵山市| 定结县| 巨野县|