最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django項目單字段區(qū)間查詢的實現(xiàn)

 更新時間:2023年10月30日 15:07:27   作者:LoisMay  
在Django項目中會碰到一些需求就是查詢某個表中的一些字段從某日到某日的數(shù)據(jù),你可以像在SQL中那樣使用SELECT語句來查找指定字段,本文就來介紹兩種方法,感興趣的可以了解一下

在Django項目中會碰到一些需求就是查詢某個表中的一些字段從某日到某日的數(shù)據(jù),而且是對但字段查詢這個時候我們有兩兩種方法解決

單字段類型是DateTimeField的

查詢?nèi)掌诜秶?這個時候在filter.py里面重寫DateTimeFromToRangeFilter,為什么要重寫呢?
因為我們做區(qū)間查詢 起始與結(jié)束時間兩個日期當天的數(shù)據(jù)也需要的,如果不重寫的話起止兩天當天的數(shù)據(jù)是沒有的,它的查詢規(guī)則是<=沒有>=這個時候我們就需要去重寫,在獲得結(jié)束日期的時候給它加一天日期即可達到效果>=

注意重寫這個方法URL必須按照規(guī)定前綴后綴是 _after 和 _before

http://192.168.31.14:8000/gt_computer/?create_time_after=2023-09-13&create_time_before=2023-09-13

filters.py

	class CustomDateTimeFromToRangeFilter(filters.DateTimeFromToRangeFilter):
	    def filter(self, qs, value):
	        if value and value.stop:
	            new_value = slice(value.start, value.stop + timedelta(days=1))
	            return super().filter(qs, new_value)
	        return super().filter(qs, value)
	
	
	class ComputerFileter(filters.FilterSet):
	    create_time = CustomDateTimeFromToRangeFilter()
	
	    class Meta:
	        model = ComputerStatusRecord
	        fields = '__all__'

serializers.py

	class ComputerSerializer(ModelSerializer):
	    create_time = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S", read_only=True)	
	    # 注意重寫之后需要添加read_only要不然models.py里面的設置的屬性沒用了
	
	    class Meta:
	        model = ComputerStatusRecord
	        fields = "__all__"

方法二

上面的方法單指的是時間字段,方法二可以指認到數(shù)字及時間都可以匹配,就是當我們get請求進來都會走到get_queryset,這個時候我們可以重寫它返回指定的內(nèi)容做區(qū)間查詢即可。

這個時候我們就不需要指定固定前后綴都可以使用

views.py

    def get_queryset(self):
        queryset = super().get_queryset()
        filters = {}
        for field_name in ['sum_number', 'over_kill_number', 'miss_number',		# 需要區(qū)間查詢的字段
                           'over_kill_rate', 'miss_rate']:
            after = self.request.query_params.get(f'{field_name}_after')	# 可以根據(jù)自己的需求而定
            before = self.request.query_params.get(f'{field_name}_before')

            if after and before:
                filters[f'{field_name}__gte'] = after		
                filters[f'{field_name}__lte'] = before

        if filters:
            queryset = queryset.filter(**filters)	# 區(qū)間查詢

        return queryset

到此這篇關(guān)于Django項目單字段區(qū)間查詢的實現(xiàn)的文章就介紹到這了,更多相關(guān)Django 單字段區(qū)間查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • python通過urllib2獲取帶有中文參數(shù)url內(nèi)容的方法

    python通過urllib2獲取帶有中文參數(shù)url內(nèi)容的方法

    這篇文章主要介紹了python通過urllib2獲取帶有中文參數(shù)url內(nèi)容的方法,涉及Python中文編碼的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • numpy.linspace函數(shù)具體使用詳解

    numpy.linspace函數(shù)具體使用詳解

    這篇文章主要介紹了numpy.linspace具體使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Python中 Lambda表達式全面解析

    Python中 Lambda表達式全面解析

    Lambda是一種匿名函數(shù),當我們需要重復調(diào)用某一函數(shù),又不想寫那么多代碼時可以使用lambda表達式來代替。本文給大家介紹Python中 Lambda表達式,需要的朋友一起學習吧
    2016-11-11
  • Python堆排序的實現(xiàn)示例

    Python堆排序的實現(xiàn)示例

    堆排序是一種基于二叉堆數(shù)據(jù)結(jié)構(gòu)的排序算法,本文主要介紹了Python堆排序的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • python實現(xiàn)自動登錄跳轉(zhuǎn)頁面并獲取信息

    python實現(xiàn)自動登錄跳轉(zhuǎn)頁面并獲取信息

    這篇文章主要為大家詳細介紹了如何使用python實現(xiàn)自動登錄跳轉(zhuǎn)頁面并獲取信息功能,文中的示例代碼講解詳細,有需要的小伙伴可以跟隨小編一起學習一下
    2025-05-05
  • Pyinstaller打包.py生成.exe的方法和報錯總結(jié)

    Pyinstaller打包.py生成.exe的方法和報錯總結(jié)

    今天小編就為大家分享一篇關(guān)于Pyinstaller打包.py生成.exe的方法和報錯總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Python fileinput模塊使用介紹

    Python fileinput模塊使用介紹

    這篇文章主要介紹了Python fileinput模塊使用方法,需要的朋友可以參考下
    2014-11-11
  • Python調(diào)用VBA實現(xiàn)保留原始樣式的表格合并方法

    Python調(diào)用VBA實現(xiàn)保留原始樣式的表格合并方法

    本文主要介紹了Python調(diào)用VBA實現(xiàn)保留原始樣式的表格合并方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • 對Pandas DataFrame缺失值的查找與填充示例講解

    對Pandas DataFrame缺失值的查找與填充示例講解

    今天小編就為大家分享一篇對Pandas DataFrame缺失值的查找與填充示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python K近鄰算法的kd樹實現(xiàn)

    python K近鄰算法的kd樹實現(xiàn)

    這篇文章主要介紹了python K近鄰算法的kd樹實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

黔南| 扶沟县| 揭西县| 南和县| 绥江县| 湘阴县| 青河县| 宜城市| 耒阳市| 平顶山市| 新宾| 泰州市| 台江县| 辽中县| 五台县| 如皋市| 富源县| 和田县| 江孜县| 恭城| 和林格尔县| 阿城市| 孝感市| 阜南县| 顺平县| 江西省| 靖宇县| 罗城| 大足县| 东至县| 平谷区| 平武县| 通城县| 齐齐哈尔市| 任丘市| 揭西县| 乌鲁木齐市| 波密县| 叶城县| 瑞安市| 乐昌市|