我有一个记录表,其中包含名称和值。表格安排如下:
ID CLASS MINIMUM
1 classA 1
2 classB 6
3 classC 10
4 classD 25
如果给出一个数字,我正在寻找但最接近该数字的记录的ID。 例如,如果我给你5,系统返回1.如果我给你11,系统返回3。
由于
答案 0 :(得分:1)
这个怎么样?
rand_number = 10 #Or any random number
min_obj = MyModel.objects.filter(minimum__lte=rand_number).order_by('-minimum').first()
id = min_obj.id if min_obj else None
基本上,按降序排序名为minimum
(或其他)的列,并获取第一条记录 - 注意first()
仅适用于django> = 1.6,并获取ID