如何根据django中包含数字的字符串筛选对象

如何根据django中包含数字的字符串筛选对象,django,django-models,Django,Django Models,我正在为我的django应用程序制作一个非常简单的过滤方法。现在我有了一个Foo模型。它有野外面积。这个区域字段是charfield class Foo(models.Model) name = charfield area = charfield 现在,我想根据面积范围在foo中搜索对象。假设我有10个具有面积的foo对象(1sqft、100英尺、3平方英尺、4平方英尺、5平方英尺、6平方英尺、9平方英尺、17平方英尺、19平方英尺、4平方英尺) 我想要一个查询,该查询将获取

我正在为我的django应用程序制作一个非常简单的过滤方法。现在我有了一个Foo模型。它有野外面积。这个区域字段是charfield

class Foo(models.Model)
    name = charfield
    area = charfield
现在,我想根据面积范围在foo中搜索对象。假设我有10个具有面积的foo对象(1sqft、100英尺、3平方英尺、4平方英尺、5平方英尺、6平方英尺、9平方英尺、17平方英尺、19平方英尺、4平方英尺)

我想要一个查询,该查询将获取5-10范围内的所有foo。在django对象中编写此过滤器的最佳方式是什么。大概是这样的:

Foo.objects.filter(area__contains = string(range(5-10)))

这是不正确的,但我想要这样的东西。(如果问题不清楚,请评论。)提前感谢。

如果区域是数字,则应为整数字段。然后
Foo.objects.filter(area\u range=[5,10])
将起作用。您可以在模板中添加单位(在本例中为平方英尺),以节省用户每次输入单位的工作,并避免保持一致性的噩梦。

您可以尝试使用范围。。更多详细信息请参见此处。。。