【问题标题】:Django using 2 data fields from a table to populate the dropdownDjango 使用表中的 2 个数据字段来填充下拉列表
【发布时间】:2012-04-18 21:02:10
【问题描述】:

我对 django 和 python 很陌生。有一个关于如何使用模型来拥有现有下拉列表的问题,不仅可以显示 ForeignKey 字段,还可以显示主键的一部分,以便可以通过主键的一部分识别外键具有的重复条目。

不知道这是否有任何意义,但由于我是新手,请给我一个例子,我会尝试遵循它。

提前非常感谢您。

【问题讨论】:

    标签: python django


    【解决方案1】:

    为什么不直接在模板的 HTML 中渲染这两个字段呢? 类似的东西应该可以工作:

    <select>
    {% for item in your_items %}
        <option>{{ item.pk }} - {{ item.some_field }}</option>
    {% endfor %}
    </select>
    

    当然,您不能再使用诸如 .as_table() 之类的 Form 方法,在这种情况下,您应该求助于手动编写 html 表单标签。更多信息请访问:https://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#customizing-the-form-template

    【讨论】:

    • 感谢乔纳斯的回答。如果我有一个客户表,我想在其中显示客户 ID 和客户名称,其中客户名称是外键,那么我可以这样做吗? &lt;select&gt; {% for customers in customer %} &lt;option&gt;{{ customer.customername }} - {{customer.customerid[0:4]}} &lt;/option&gt; {% endfor %} &lt;/select&gt;
    • 我想我可能做错了。你能告诉我这里的 item 和 your_items 应该用什么吗?我尝试使用模型中定义的类作为项目和模型中的模型类作为 your_items 但它没有接受它。
    • 如果客户名是外键,您需要访问它是properties,所以它可能类似于 {{ customer.customername.name }}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 2018-02-03
    • 2018-02-18
    相关资源
    最近更新 更多