我正在研究一些我无法控制的数据。 我只想回来谈谈我模式中某些不感兴趣的价值观的领域(如0、X或-),并在模板中单独加以利用。
我的模式就是这样:
class Manors(models.Model):
structidx = models.IntegerField(primary_key=True, verbose_name="ID")
hills = models.CharField(max_length=100, null=True, blank=True, verbose_name="Number of fields")
在我的模板中,我回去了一位马诺尔的书记,而我也希望像今天这样的产出。 山区没有兴趣:
{% for manor in manors %}
{% if manor.hills %}<li>Hills blah blah: {{ manor.hills }}</li>{% endif %}
{% endfor %}
我想避免模板过于逻辑。 理想的情况是,单单单单单单单单单单不会回到所附的不感兴趣的领域,那么,我只能读到<条码>>%,如果是脑./条码>。
页: 1 我可以像以下那样使用一位词典,但认为其效率非常低,最好只把一个有意思的田地回来。 这是可能的吗? 页: 1
我尝试拟订一种模式方法,将有趣价值观的字典归来,例如:
def get_field_dictionary(self):
interesting_fields = {}
for field in Manors._meta.fields:
if field.value_to_string(self) != "N" and field.value_to_string(self) != "0" and field.value_to_string(self) != "-" and field.value_to_string(self) != "X":
interesting_fields[field.name] = field.value_to_string(self)
return interesting_fields
但我不知道如何在模板中获取字典的个人价值:
{% if manor.get_field_dictionary[ hills ] %}<li>Hills blah blah: {{ manor.get_field_dictionary[ hills ] }}</li>{% endif %}
a 给出一个模板。 是否有更好的办法这样做?
<>UPDATE:这是最终的,作为模型的一种方法。
def get_interesting_queryset(self):
for field in Manors._meta.fields:
if field.value_to_string(self) is None or field.value_to_string(self) == "N" or field.value_to_string(self) == "0" or field.value_to_string(self) == "-" or field.value_to_string(self) == "X" or field.value_to_string(self) == "":
delattr(self, str(field.name))
return self