【问题标题】:How to filter objects based on a string containing numbers in django如何在 django 中根据包含数字的字符串过滤对象
【发布时间】:2013-10-23 12:50:26
【问题描述】:

我正在为我的 django 应用程序制作一个非常简单的过滤器方法。现在我有一个模型 Foo。其中有领域。这个区域字段是一个字符域。

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

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

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

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

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

【问题讨论】:

标签: django django-models


【解决方案1】:

如果区域是一个数字,它应该是一个 IntegerField。然后Foo.objects.filter(area__range=[5,10]) 将起作用。您可以在模板中添加单位(在本例中为平方英尺),以使您的用户无需每次都输入单位,而您无需担心保持一致。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2022-11-24
    • 1970-01-01
    相关资源
    最近更新 更多