【发布时间】:2018-07-03 12:56:51
【问题描述】:
我是 Django 的初学者,正在做一个预订系统的学习项目。任何人都可以向我推荐一个开源 django 项目,我可以在其中检查源代码以获得最佳实践。提前致谢
当我使用下面的代码时,get 方法会“打开”或“关闭”。怎么可能是“真”/“假”?
模型.py
class Mymodel(models.Model):
...
is_xxx_approved = models.BooleanField(default=False,blank=False,null=False)
is_contracted_by_yy= models.BooleanField(default=False,blank=False,null=False)
is_zz_approved = models.BooleanField(default=False,blank=False,null=False)
过滤器.py
class MymodelFilter(django_filters.FilterSet):
class Meta:
model = Mymodel
fields = ['is_xxx_approved', 'is_contracted_by_yy', 'is_zz_approved']
exclude = [
'name',
'address',
'phone',
'email',]
filter_overrides = {
models.BooleanField: {
'filter_class': django_filters.BooleanFilter,
'extra': lambda f: {
'widget': forms.CheckboxInput,
},
},
}
模板
<div class="filter_index">
{% with field=filter.form.is_xxx_approved %}
{{ field.label_tag }}
{{ field }}
{% endwith %}
</div>
<div class="filter_index">
{% with field=filter.form.is_contracted_by_yy %}
{{ field.label_tag }}
{{ field }}
{% endwith %}
</div>
<div class="filter_index">
{% with field=filter.form.is_zz_approved %}
{{ field.label_tag }}
{{ field }}
{% endwith %}
</div>
【问题讨论】:
标签: django django-filter django-filters