【问题标题】:Django: how can I a create categories field/dropdown menu?Django:如何创建类别字段/下拉菜单?
【发布时间】:2015-11-01 03:14:05
【问题描述】:

这是一个非常简单的问题,如何在 Django 中创建仅包含特定类别的下拉字段(类似于国家下拉列表,但与国家不同)。

【问题讨论】:

    标签: python django drop-down-menu model categories


    【解决方案1】:

    如果字段用于固定值,则使用字段的choice 属性。或者如果应该动态创建类别,则使用 ForeignKey 字段。

    对于 ForeignKey 字段,您将执行以下操作:

    from django.db import models
    
    class Category(models.Model):
        name = models.Charfield(max_length=255)
        # ...
    
        def __str__(self):
            return self.name
    
    class Item(models.Model):
        category = models.ForeignKey(Category)
        # ...
    

    【讨论】:

    • 您能否详细说明第二个选项?
    • @Antoni4040:相应地更新了答案
    【解决方案2】:

    Django 最强大的功能是为您提供直接表单。 这是一个广泛的问题,但您想要定义一个可以与您可以放入模板的表单配对的模型。 看看这里:https://docs.djangoproject.com/en/1.8/topics/forms/ 和这里: Django options field with categories 和这里Creating a dynamic choice field

    【讨论】:

    • 对不起,我不是很清楚。我的意思是数据库的类别字段。下拉菜单将在管理页面中。
    • 我不确定我是否完全理解您想要实现的目标。您想要有限数量的类别或数据库中的一个字段,您可以在其中定义任意数量的类别吗?你在寻找这样的东西吗? docs.djangoproject.com/en/dev/ref/forms/fields/#choicefield
    • 您可以将其称为文本字段,但可能的值数量有限,我希望将来能够添加更多选项。对不起,我不知道该怎么形容了……
    • 您可以将 ChoiceField 与选项一起使用。看这里:stackoverflow.com/questions/3419997/…
    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 2015-07-24
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多