我有一个关于Django模型的基本问题。我有一个临床病人模型(继承自模型。模型)它由charfields、integerfields、一个textfield和一个emailfield组成。与这些字段相关联的类型仅限于ASCII字符(我认为),因此我不认为有必要对进行任何低级的重新定义。但是,假设我有一个Patient对象x,我希望能够遍历该对象中的各个字段,并将相应的值打印到模板中。我特别不想像我目前所做的那样硬编码值/字段名,以防以后模型本身发生更改。示例->
{% for value in x %}
<p> {{ value }} </p>
{% endfor %}
我几乎要用这种方法来理解这个类的细节。我不知道怎么写这个方法。我不知道是否还需要编写一个<next方法。我试图创造这样的东西,却遇到了令人沮丧的、几乎是轻蔑的错误。请帮忙:)
您只需编写
__iter__
方法。在您的例子中,我将编写一个自定义方法来完成这项工作,而不是修改__iter__
魔术方法。在django模型中引入这种变化会令人困惑,因为这不是预期的行为。做一些类似iter_fields()
的东西。检查thisdoc查看如何检索模型字段如果我正确地理解了你的问题,你需要你的模型中所有的} 作为
model fields
。 如果是这样,请使用_Meta
API的^{all_my_model_fields = [field.name for field in MyModel._meta.get_fields()]
相关问题 更多 >
编程相关推荐