我有一个模型
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
表格
class Demande_ExpertiseForm(forms.ModelForm):
class Meta:
model = Demande_Expertise
exclude = ('etat',)
def __init__(self, *args, **kwargs):
super(Demande_ExpertiseForm, self).__init__(*args, **kwargs)模板
<td>{{ form.categorie}}</td>如果我想要的模板有:陶瓷,Cu_based,Ni_based,我该如何获得表单?
如果我用Demande_ExpertiseForm编写
self.fields['categorie'].queryset = Category.objects.filter(name__icontains="Cu_based")我只得到Cu_based的筛选器
如果我想要陶瓷,Cu_based,Ni_based的过滤器怎么办?
发布于 2015-06-15 17:29:12
你可以使用'Q‘
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'))https://stackoverflow.com/questions/30839691
复制相似问题