首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django :如何在表单中过滤

Django :如何在表单中过滤
EN

Stack Overflow用户
提问于 2015-06-15 15:37:59
回答 1查看 135关注 0票数 0

我有一个模型

代码语言:javascript
复制
class Demande_Expertise(models.Model):
    user = models.ForeignKey(User)
    material = models.CharField(_('material'), max_length=30)
    categorie =  models.ForeignKey("Category")

class Category(models.Model):
    name = models.CharField(_('name'), max_length=50)

我有类别的记录:合金,陶瓷,复合材料,Cu_based,金属,Pure_metals,Ni_based

表格

代码语言:javascript
复制
class Demande_ExpertiseForm(forms.ModelForm):
    class Meta:
        model = Demande_Expertise
        exclude =  ('etat',)

    def __init__(self, *args, **kwargs):
        super(Demande_ExpertiseForm, self).__init__(*args, **kwargs)

模板

代码语言:javascript
复制
<td>{{ form.categorie}}</td>

如果我想要的模板有:陶瓷,Cu_based,Ni_based,我该如何获得表单?

如果我用Demande_ExpertiseForm编写

代码语言:javascript
复制
self.fields['categorie'].queryset = Category.objects.filter(name__icontains="Cu_based")

我只得到Cu_based的筛选器

如果我想要陶瓷,Cu_based,Ni_based的过滤器怎么办?

EN

回答 1

Stack Overflow用户

发布于 2015-06-15 17:29:12

你可以使用'Q‘

代码语言:javascript
复制
from django.db.models import Q

self.fields['categorie'].queryset = Category.objects.filter(Q(name__icontains = 'Cu_based') | Q(name_icontains = 'Ceramic') | Q(name_icontains = 'Ni_based'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30839691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档