2013-05-19 3 views
0

В шаблоне, как можно проверить, является ли ModelChoiceField является пусто?Django проверить, свободен ли выбор формы

Это моя форма:

class BatchForm(forms.ModelForm): 
    def __init__(self, user=None, *args, **kwargs): 
     super(BatchForm, self).__init__(*args, **kwargs) 
     this_templates = Template.objects.for_user(user) 
     self.fields["templates"] = forms.ModelChoiceField(queryset=this_templates, required=False, empty_label=None) 

Тогда в моих взглядах я хочу не показывают падение вниз, если QuerySet пуста что-то вроде этого ...

{% if not form.templates%} 
<div class="control-group"> 
    <div class="controls"> 
    {{ form.templates }} 
    </div> 
etc 

ответ

5

Вы можете:

{% if form.templates.field.choices.queryset.all|length %} 

<div class="control-group"> 
    <div class="controls"> 
    {{ form.templates }} 
    </div> 
+1

для Джанго forms.Form вы можете просто использовать {%, если form.templates.field.choices | длина%} –

1

Просто проверить count в QuerySet в вашем поле формы:

{% if form.templates.queryset.count %} 
    <div class="control-group"> 
     <div class="controls"> 
     {{ form.templates }} 
     </div> 
    </div> 
{%endif%} 

Надеется, что это помогает!

Смежные вопросы