如何显示在模板中选择 true 的 Django BooleanFields?
How to display Django BooleanFields selected true in template?
我创建了一个模型对象。
这个对象有几个布尔字段。
# models.py
class TeamCharacteristic(models.Model):
team = models.ForeignKey('Teams',on_delete=models.CASCADE)
power1 = models.BooleanField(null=True, blank=True)
power2 = models.BooleanField(null=True, blank=True)
power3 = models.BooleanField(null=True, blank=True)
power4 = models.BooleanField(null=True, blank=True)
power5 = models.BooleanField(null=True, blank=True)
class Meta:
verbose_name = 'Team style'
verbose_name_plural = 'Teams style'
def __str__(self):
return "{} 's style".format(
self.team,
)
有些是对的,有些是错的。
我只想显示模板中具有正确值的字段。
我怎样才能以更短的方式执行此操作而不是单独检查每个字段?
# views.py
from django.shortcuts import render, get_object_or_404
from .models import Matches
from denemee.apps.home.models import TeamCharacteristic
def matches_details(request, page_id=None, team=None, **kwargs):
m_detail = get_object_or_404(Matches, id=page_id)
home_team_chr = get_object_or_404(TeamCharacteristic, team=m_detail.h_team)
away_team_chr = get_object_or_404(TeamCharacteristic, team=m_detail.a_team)
payload = {
'm_detail': m_detail,
'home_team_chr': home_team_chr,
'away_team_chr': away_team_chr
}
return render(request, 'match_detail.html', payload)
您可以将 home_team_chr
和 home_team_chr
作为 序列化 对象发送,然后遍历字段和检查布尔值中的真值。
查看 this 答案了解更多详情。
我创建了一个模型对象。 这个对象有几个布尔字段。
# models.py
class TeamCharacteristic(models.Model):
team = models.ForeignKey('Teams',on_delete=models.CASCADE)
power1 = models.BooleanField(null=True, blank=True)
power2 = models.BooleanField(null=True, blank=True)
power3 = models.BooleanField(null=True, blank=True)
power4 = models.BooleanField(null=True, blank=True)
power5 = models.BooleanField(null=True, blank=True)
class Meta:
verbose_name = 'Team style'
verbose_name_plural = 'Teams style'
def __str__(self):
return "{} 's style".format(
self.team,
)
有些是对的,有些是错的。 我只想显示模板中具有正确值的字段。 我怎样才能以更短的方式执行此操作而不是单独检查每个字段?
# views.py
from django.shortcuts import render, get_object_or_404
from .models import Matches
from denemee.apps.home.models import TeamCharacteristic
def matches_details(request, page_id=None, team=None, **kwargs):
m_detail = get_object_or_404(Matches, id=page_id)
home_team_chr = get_object_or_404(TeamCharacteristic, team=m_detail.h_team)
away_team_chr = get_object_or_404(TeamCharacteristic, team=m_detail.a_team)
payload = {
'm_detail': m_detail,
'home_team_chr': home_team_chr,
'away_team_chr': away_team_chr
}
return render(request, 'match_detail.html', payload)
您可以将 home_team_chr
和 home_team_chr
作为 序列化 对象发送,然后遍历字段和检查布尔值中的真值。
查看 this 答案了解更多详情。