2016-12-19 52 views
0

嘿大家和我的英语很抱歉, 我很新的Django和网络的发展,使这里是我的问题:仅布尔字段= True显示,如何在模板中写入?

我有一个模型/表只用布尔字段,并希望向他们展示我的细节.html但只有真正的列。我怎样才能管理这个?我试图用查询来做,但它不起作用。现在我有一个解决方案,其中我的模板将布尔字段显示为复选框,但它不会与实际值同步。所以我觉得我的输入有问题。我已经用ifequal尝试过了,但它总是把它变成True。这是我的一个布尔值字段的模板部分:

<div class="form-row field-firstfield"> 
 
     <div class="checkbox-row"> 
 
     <input id="id_firstfield" name="firstfield" type="checkbox" value="on" {% ifequal Table.firstfield true %}checked="checked"{% endifequal %} disabled /><label class="vCheckboxLabel" for="id_firstfield">First Field</label> 
 
     </div> 
 
</div>

+0

你想要这样的东西? '{%if Table.firstfield%}

...
{%endif%}' – Enix

+0

该查询是执行此操作的正确方法。你应该展示你尝试过的那个没有用,而且发生了什么。 –

+0

完成,请参阅下面的答案:-) – Boerne

回答

0

确定从开始: 表:

class YNModel(models.Model): 
Patient = models.ForeignKey(Patient, on_delete=models.CASCADE) 
firstfield = models.BooleanField(default=False) 
secondfield = models.BooleanField(default=False) 
thirdfield = models.BooleanField(default=False) 
fourthfield= models.BooleanField(default=False) 
fifthfield = models.BooleanField(default=False) 



def get_absolute_url(self): 
    return reverse('main:detail', kwargs={'pk': self.pk}) 

Django.views:

def table_list(request): 
queryset = table.objects.all() 
context = { 
    "object_list":queryset, 
    "title" : "List" 
} 
return render(request, 'main/detail.html', context) 

模板:

<div class="container-fluid"> 
 
    <div class="row"> 
 
      <div class="col-sm-3 "> 
 
       <div class="well"> 
 
        <h2>Risk Factors</h2> 
 
        {% for obj in object_list%} 
 
        {{obj.firstfield}} 
 
        {{obj.secondfield}} 
 
        {{obj.thirdfield}} 
 
        {{obj.fourthfield}} 
 
        {{obj.fifthfield}} 
 
        {{obj.sixtfield}} 
 
        {% endfor%} 
 
        </div> 
 
       </div> 
 
     </div> 
 
    </div> 
 
       

当我运行此我成为只是一个空列表。我的想法是,这是因为BooleanFields。

相关问题