【问题标题】:get the id and description from database for dropdown in django从数据库中获取 id 和描述以在 django 中进行下拉
【发布时间】:2021-01-17 09:14:19
【问题描述】:

我正在尝试在我的 django 表单中创建一个下拉列表。我是 Django 框架的新手。在 ASP.NET MVC 中,我们使用 LINQ 或 SQL 过程来获取数据,在模型类中我们也可以这样做,

/// model class

[NotMapped]
public string ddl_productdesc
{
    get
    {
        return string.Format("{1} --- {2}", ProductID, I_NUMBER, ProductDESC);
    }
}

在我的表格中,大约有 30 列我需要三个字段(ProductIDI_NUMBERProductDESC)作为下拉列表

我怎样才能在 django 中做同样的事情,ID 用于数据获取和插入的字段以及其他两个字段作为下拉列表?谢谢!

【问题讨论】:

  • 您是否尝试过编写任何需要帮助的代码,或者您正在寻找一般性的答案?
  • 我不知道如何在 Django 中执行此操作。我来自 .NET backgro 这是我在 Django 中的第一个项目。请帮忙!!!

标签: django django-models model-view-controller html.dropdownlistfor


【解决方案1】:

从我的评论的答案来看,你是一个完整的 django 初学者。因此,我建议从docs 开始。

不过,我会为您提供一些指导。首先,你给自己写一个类似这样的视图(注意这是非常简约的):

def product_view(request):
    context = { 'products': Products.objects.all() }
    return render(request, 'products/product_view.html', context)

然后,在 product_view.html 模板中,您可以创建如下下拉列表:

{% if products %}
  <label for="products">Choose a product:</label>

  <select name="cars" id="cars">
  {% for product in products %}
    <option value="{{ product.pk }}">{{ product.name }} -- {{ product.number}}</option>
  {% endfor %}
  </select>
{% endif %}

【讨论】:

  • 为什么要从数据库中检索所有列?如何从表中仅检索所需的列(ProductID, I_NUMBER, ProductDESC)?是否可以?谢谢!
  • 是的,这可以通过 values() 实现。只需滚动浏览文档,您的所有问题都会得到解答:docs.djangoproject.com/en/3.1/ref/models/querysets/#values
猜你喜欢
  • 1970-01-01
  • 2018-07-16
  • 2016-09-02
  • 2014-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
相关资源
最近更新 更多