0

谁能帮我解决这个问题。非常感谢您的帮助。谢谢。

这是我的程序

模板.html

<tbody>
{% for condition in conditioner %}
{{ condition.owner }}
{% with "#CCE6FF" as bgcolor %} 
<tr>
    <td style="height: 30">{{ condition.NEW_DATE }}</td>
    <td>
        <select class="SMOKER select_input" name="condition">
            <option value="{{condition.SMOKER.01}}" >Never</option>
            <option value="{{condition.SMOKER.02}}" >Ex-Smoker</option>
        </select>
    <td><input type="text" name="condition" id="condition{{ forloop.counter }}" value="{{ condition.WEIGHT }}" /></td>
    <td><input type="text" name="condition" id="condition{{ forloop.counter }}" value="{{ condition.HEIGHT }}" /></td>
    <td><input type="text" name="condition" id="condition{{ forloop.counter }}" value="{{ condition.BP }}" /></td>
</tr>
----more program---

模型.py

class Condition(models.Model):
owner = models.ForeignKey(Afdeling)
CPR = models.ForeignKey(Patient)
NEW_DATE = models.DateField(null = True, blank = True)

smoker = (("01" , 'Never'),
         ("02" , 'Ex-Smoker'),

SMOKER      = models.CharField(max_length = 2, choices = smoker, null = True, blank = True)    

WEIGHT      = models.DecimalField(max_digits = 5, decimal_places = 1, null = True, blank = True)

HEIGHT      = models.DecimalField(max_digits = 5, decimal_places = 1, null = True, blank = True)

BP = models.SmallIntegerField(max_length = 3, null = True, blank = True)
----more models.py---

条件输出

它显示了表格和选定的选项,但没有显示正确的数据。

在我的数据库中,19 okt 应该是 Ex-Smoker,但在这里它显示 Never 到所有列。

该表的 html 是:

<select class="SMOKER select_input" name="condition">
<option value="2" >Never</option>
<option value >Ex-Smoker</option>
</select>

我希望我的解释是可以理解的,如果有人需要更多澄清,我会尽力解释。我真的需要这方面的帮助。非常感谢你。

4

1 回答 1

2

我承认我不完全理解,例如你想要做什么{{condition.SMOKER.01}},看起来你更愿意做{{ condition.smoker.0.0 }}{{ condition.smoker.1.0 }}哪个会分别输出0102,就像在 pythoncondition.smoker[0][0]condition.smoker[0][1].

无论如何,关于这个:

在我的数据库中,19 okt 应该是 Ex-Smoker,但在这里它显示 Never 到所有列。

这仅仅是因为您从未使用selected="selected". 也许它应该看起来像这样:

    <select class="SMOKER select_input" name="condition">
        <option value="{{condition.smoker.0.0}}" {% if condition.SMOKER == condition.smoker.0.0 %}selected="selected"{% endif %}>Never</option>
        <option value="{{condition.smoker.1.0}}" {% if condition.SMOKER == condition.smoker.1.0 %}selected="selected"{% endif %}>Ex-Smoker</option>
    </select>

希望这可以帮助。但正如我所说,很难理解您要做什么,而且您故意违反通用标准这一事实无济于事:使用大写的属性名称和小写的伪常量与我们使用的相反要做 - 以及您在 django 文档中可以看到的内容,如下所示:

class Condition(models.Model):
    SMOKER_CHOICES = (
        ("01" , 'Never'),
        ("02" , 'Ex-Smoker'),
    )
    smoker = models.CharField(max_length=2, choices=SMOKER_CHOICES)
    # etc ....

所以也许你只是被自己的气质弄糊涂了?

于 2012-11-13T13:46:41.863 回答