社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

在查询django ORM之前将字符串转换为int

maca2.0 • 3 年前 • 1085 次点击  

我有一个模特

class Entry(models.Model):
    maca = models.CharField(max_length=100, blank=True, null=True)

此字段只接受数字(由于业务原因,无法将字符字段设置为整数字段)

现在我必须得到所有maca大于90的条目

我想做的是:

Entry.objects.filter(maca__gte=90)

但gte不起作用,因为maca是字符串

如何在过滤之前将maca转换为int?还是像这样?

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131067
 
1085 次点击  
文章 [ 1 ]  |  最新文章 3 年前
RedWheelbarrow
Reply   •   1 楼
RedWheelbarrow    3 年前

试试这个:

from django.db.models.functions import Cast
from django.db.models import IntegerField
Entry.objects.annotate(maca_integer=Cast('maca', output_field=IntegerField())).filter(maca_integer__gte=90)