在Django模型中获取字段名
我有一个django模型,有几个日期字段。模型是:在Django模型中获取字段名,django,django-models,django-templates,Django,Django Models,Django Templates,我有一个django模型,有几个日期字段。模型是: class MyModel(models.Model) aaa = models.DateField(blank=True, null=True,verbose_name="x") nnn = models.DateField(blank=True, null=True, verbose_name="y") ddd = models.DateField(blank=True, null=True, verbose_nam
class MyModel(models.Model)
aaa = models.DateField(blank=True, null=True,verbose_name="x")
nnn = models.DateField(blank=True, null=True, verbose_name="y")
ddd = models.DateField(blank=True, null=True, verbose_name="z")
...
我想比较模型中的所有日期,并在模板中使用它。我可以在我的模型中使用:
class MyModel(models.Model)
name = models.CharField()
...
aaa = models.DateField(blank=True, null=True,verbose_name="x")
nnn = models.DateField(blank=True, null=True, verbose_name="y")
ddd = models.DateField(blank=True, null=True, verbose_name="z")
...
def timing(self):
fields = (
self.aaa, self.nnn, self.ddd, ...
)
past = []
for field in fields:
if field:
if field >= datetime.now().date():
past.append( [True, field] )
else:
past.append( [False, field] )
else:
pass
return past
在模板中:
{% for bl, value in c.timing %}
{% if bl == False %}
<dt>{{ bl }} :</dt> <dd>{{ value }}<dd>
{% else %}
<dt>{{ bl }} :</dt> <dd class="c1">{{ value }}<dd>
{% endif %}
{% endfor %}
{bl的%s,c.timing%中的值}
{%bl==False%}
{{bl}}:{{value}
{%else%}
{{bl}}:{{value}
{%endif%}
{%endfor%}
这是可行的,但我希望在模板中有详细的字段名称。所以我可以举个例子
{% if bl == False %}
<dt>{{ fielname }} :</dt> <dd>{{ value }}</dd>
{%if bl==False%}
{{fielname}}:{{value}
感谢您提前提供所有答案您可以为字段定义一个名称,使用默认名称且不可编辑,如下所示:
aaa_name = models.CharField(max_length=10, default='aaa_name', editable=False)
然后,要在模板中访问它,您可以像往常一样调用它:
{{ aaa_name }}