【发布时间】:2015-06-15 19:29:10
【问题描述】:
我有模特
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、Metals、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>
如果我想要模板,如何获得表格:陶瓷、铜基、镍基?
如果我写在 Demande_ExpertiseForm 中
self.fields['categorie'].queryset = Category.objects.filter(name__icontains="Cu_based")
我只得到基于 Cu_based 的过滤器
如果我想要陶瓷、Cu_based、Ni_based 过滤器 怎么办?
【问题讨论】:
-
Django Filters - or? 的可能重复项
-
@Sayse,我认为问题是“如何在表单中使用 3 个对象?”
-
它适用于 Category.objects.filter(Q(name__icontains="Ceramic") | Q(name__icontains="Ni_based") | .....) 谢谢