Django i型

2024-10-16 20:52:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于Django模型的基本问题。我有一个临床病人模型(继承自模型。模型)它由charfields、integerfields、一个textfield和一个emailfield组成。与这些字段相关联的类型仅限于ASCII字符(我认为),因此我不认为有必要对进行任何低级的重新定义。但是,假设我有一个Patient对象x,我希望能够遍历该对象中的各个字段,并将相应的值打印到模板中。我特别不想像我目前所做的那样硬编码值/字段名,以防以后模型本身发生更改。示例->

{% for value in x %}
<p> {{ value }} </p>
{% endfor %}

我几乎要用这种方法来理解这个类的细节。我不知道怎么写这个方法。我不知道是否还需要编写一个<next方法。我试图创造这样的东西,却遇到了令人沮丧的、几乎是轻蔑的错误。请帮忙:)


Tags: 对象django方法模型类型定义valueascii
2条回答

您只需编写__iter__方法。在您的例子中,我将编写一个自定义方法来完成这项工作,而不是修改__iter__魔术方法。在django模型中引入这种变化会令人困惑,因为这不是预期的行为。做一些类似iter_fields()的东西。检查thisdoc查看如何检索模型字段

如果我正确地理解了你的问题,你需要你的模型中所有的model fields。 如果是这样,请使用_MetaAPI的^{}作为

all_my_model_fields = [field.name for field in MyModel._meta.get_fields()]

相关问题 更多 >