从Django Query隐藏项目

时间:2012-10-24 15:17:03

标签: django sqlite

我们有一个在django db中有几个产品名称的webapp。将查询此表(?)的db并使用这些产品名称填充下拉列表。我想隐藏查询/下拉列表中的这些产品名称而不从数据库中删除它们。

我有没有办法在sqlite中做到这一点?

我从一个团队成员那里继承了这个项目,这个团队成员已经离开,我学习了Django 2天,所以欢迎任何帮助!

2 个答案:

答案 0 :(得分:1)

当然,在查询时必须使用Queryset.filter方法!

示例:

items = Item.objects.filter(attribute = value)

这只会为value选择attribute的项目。

如果你想反过来做,可以使用Queryset.exclude

items = Item.objects.exclude(attribute = value)

这只会选择attribute不等于value的商品。

使用django ORM查看documentation以获得更多乐趣!

答案 1 :(得分:0)

class Meta:
    model = ChangeRequest
    products = [(product.name, product.name) for product in Product.objects.all()]
    products = [('', '--------')] + products
    widgets = {
        'product': forms.Select(choices=products),

这是我的代码片段, 它返回 产品1 产品2 产品3 product4的

我正在尝试使用您在上面提供的排除行和文档,但没有太多运气。我怎样才能让它只返回Product2和Product4?

我道歉,如果这是完全错误的,因为这是我第一次在这里提问。