Django 序列化接收前端時間自定義查詢

2021-10-06 18:20:41 字數 1405 閱讀 4540

前提:

表stock   2400w資料       表inventory   600w資料 ,  此表通過picking_id關聯表stock

模型:

class stock(models.model):

'''表stock模型'''

id = models.autofield(primary_key=true)

create_uid = models.integerfield(blank=true, null=true)

create_date = models.datetimefield(auto_now_add=true)

.......

class inventory(models.model):

'''表inventory模型'''

id = models.autofield(primary_key=true)

picking = models.foreignkey(stock, related_name='inventor_picking_id')

.......

detection_date = models.datetimefield(auto_now=true, verbose_name='檢測時間')

情景:

在表stock的列表中查詢表inventory的檢測時間(detection_date)為某乙個區間的資料,此時通過先查詢資料量小的表,再關聯查詢資料量大的表.

假設我們已經獲取到queryset查詢集

start_date,end_date = value.strip().split('/')

picking_ids =

if start_date and end_date:

# 將請求的時間轉換成資料庫的時區時間

start_date = timezone.make_aware(

datetime.datetime.strptime(start_date, '%y-%m-%d %h:%m:%s'))

end_date = timezone.make_aware(

datetime.datetime.strptime(end_date, '%y-%m-%d %h:%m:%s'))

picking_ids = inventory.filter(detection_date__gte=start_date, detection_date__lte=end_date).values_list('picking_id', flat=true)

return queryset.filter(picking_id__in=picking_ids)

Django序列化與反序列化

新建乙個模型類 class userinfo models.model name models.charfield max length 20 password models.charfield max length 11 addkey models.foreignkey addressinfo c...

django的序列化

關於django的序列化主要應用在將資料庫中檢索的資料返回給客戶端使用者,特別的ajax請求一般返回的json格式 兩種方法 缺點就是只能應用於物件 ret models.book.objects.filter con print ret queryset,物件 就是上面是列表 from djang...

Django的序列化

關於django中的序列化主要應用在將資料庫中檢索的資料返回給客戶端使用者,特別的ajax請求一般返回的為json格式。1 serializers,django內建 from django.core import serializers ret models.booktype.objects.all...