如何根据包含django中的数字的字符串过滤对象

时间:2013-10-23 12:50:26

标签: django django-models

我正在为我的django应用程序制作一个非常简单的过滤方法。现在我有一个模特Foo。哪个有领域。这个区域是一个charfield。

class Foo(models.Model)
    name = charfield
    area = charfield

现在我想根据区域范围搜索foo中的对象。假设我有10个foo对象,有1个区域(1平方英尺,100英尺,3平方英尺,4平方英尺,5平方英尺,6平方英尺,9平方英尺,17平方英尺,19平方英尺,4平方英尺)。

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

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

这不正确,但我想要这样的东西。 (如果问题不明确,请发表评论。)提前致谢。

1 个答案:

答案 0 :(得分:1)

如果区域是数字,则它应该是IntegerField。然后Foo.objects.filter(area__range=[5,10])将起作用。您可以在模板中添加单位(在这种情况下为平方英尺),以便为用户保存每次输入它们的工作,并且保持一致的噩梦。