首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django -给定模型选项的显示,如何从choice元组中检索值?

在Django中,如果你想要根据给定模型选项的显示值来检索对应的实际值,你可以使用get_FOO_display()方法。其中,FOO是你模型中的字段名。

假设你有一个模型类MyModel,其中有一个字段status,它的选项是一个choice元组:

代码语言:txt
复制
from django.db import models

class MyModel(models.Model):
    STATUS_CHOICES = (
        ('A', 'Active'),
        ('I', 'Inactive'),
        ('D', 'Deleted'),
    )
    status = models.CharField(max_length=1, choices=STATUS_CHOICES)

现在,如果你想要根据显示值"Active"来检索对应的实际值"A",你可以使用get_status_display()方法:

代码语言:txt
复制
>>> obj = MyModel.objects.get(pk=1)
>>> obj.get_status_display()
'Active'

这样,你就可以通过显示值来获取对应的实际值了。

在腾讯云的产品中,与Django相关的产品是腾讯云的云服务器(CVM)和云数据库MySQL(CDB)。你可以使用云服务器来部署Django应用程序,并使用云数据库MySQL来存储数据。你可以在腾讯云的官方网站上找到更多关于云服务器和云数据库MySQL的详细信息和产品介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

django 通过get_FOO_display 查找模型choice

django models.py ,我们定义了一些 choices 元组,类似一些字典,比如一个订单状可能有多种状态,这时订单状态这个字段就可以用 choice ,在数据库 status...status = models.IntegerField(verbose_name="订单状态", choices=order_status_choice,) 订单状态数字对应状态含义可以用元组绑定,...,在 django 框架可以用 get_FOO_display() 获取数字对应订单状态。...本例可以用 order_status = main_order.get_status_display() 获取该订单状态。FOO 是对应模型字段。...在代码尽量不要出现固定硬编码,比如某个判断条件,判断订单状态为待订单审核,你可能会这么写: if status == 1: pass 比较灵活写法应该是这样: if status =

1.6K30

Django 3.1 官网学习路线

不同模型字段类型(DateTimeField、CharField)对应于适当 HTML 输入小部件。每种类型字段都知道如何Django 管理显示自己。...删除-显示删除确认页面。 如果“Date published”与教程 1 创建问题时时间不匹配,这可能意味着您忘记为 TIME_ZONE 设置正确。...例如,在一个博客应用程序,您可能有以下视图: 博客首页-显示最近几个条目。 条目“详细信息”页面——一个条目的永久链接页面。 基于年份归档页面——显示给定年份所有月份和条目。...基于月份归档页面——显示给定月份所有天数和条目。 基于天归档页面——显示给定所有条目。 评论操作——处理向给定条目发布评论。...要做到这一点,使用 list_display 管理选项,它是一个字段名元组,以列形式显示在对象更改列表页面上: polls/admin.py¶ class QuestionAdmin(admin.ModelAdmin

8.2K10
  • 37.Django1.11.6文档

    给定一个模型实例,可以使用get_FOO_display()方法来访问选项字段显示。 ...验证给定选项列表存在。 错误信息键:required, invalid_choice invalid_choice 错误消息可能包含%(value)s,它将被选择选项替换掉。...默认Widget:Select 空:与empty_value给出任何。 规范化为:coerce 参数类型。 验证给定选项列表存在并且可以被强制转换。...默认Widget:SelectMultiple 空:empty_value 规范化为:coerce参数提供类型列表。 验证给定存在于选项列表并且可以强制。...如果字段是必选,它会强制用户选择一个选项。 如果模型字段default 且具有一个显示default ,将不会包含空选项(初始将选择blank=False )。

    24.3K80

    Django学习笔记 1.7 自定义 admin 站点

    1 自定义后台表单 polls/admin.py 通过 admin.site.register(Question) 注册 Question 模型Django 能够构建一个默认表单用于展示。...通常来说,你期望能自定义表单外观和工作方式。你可以在注册模型时将这些设置告诉 Django。...from django.contrib import admin from .models import Choice, Question # ... admin.site.register(Choice...默认提供 3 个足够选项字段。” 3 自定义后台更改列表 3.1 显示列表 默认情况下,Django 显示每个对象 str() 返回。但有时如果我们能够显示单个字段,它会更有帮助。...为此,使用 list_display 后台选项,它是一个包含要显示字段名元组,在更改列表页以列形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):

    99120

    Django 1.10文文档-第一个应用Part7-自定义管理站点

    如果在创建Question对象时候就可以直接添加一些Choice,那样操作将会变得简单些。 删除Choice模型对register()方法调用。...使用TabularInline代替`StackedInline``,相关对象将以一种更紧凑表格形式显示出来: ? 注意,这样多了一个"删除"选项,它允许你删除已经存在Choice....如果我们想要同时显示一些别的内容,可以使用list_display属性,它是一个由多个字段组成元组,其中每一个字段都会按顺序显示在页面上,代码如下: # polls/admin.py class...过滤器显示筛选类型取决与你过滤字段,由于pub_data是DateTimeField,所以Django就自动给出了“今天”、“过去7天”、“本月”、“今年”这几个选项。 这一切进展顺利。...快速通道 Django 1.10文文档-第一个应用Part1-请求与响应 Django 1.10文文档-第一个应用Part2-模型和管理站点 Django 1.10文文档-第一个应用

    3.6K60

    Django快速入门——投票程序(7) 自定义后台

    自定义后台 自定义表单 通过admin.site.register(Question)注册Question模型Django会创建默认表单在后台显示。...一个问题有多个选项,但后台却没有显示选项。...默认提供3个选项(extra=3)。 不过,现在选项占用区域太大了。Django 提供了一种表格式单行显示关联对象方法。...自定义后台更改列表 现在投票后台页看起来很不错,让我们对问题列表页面进行一些调整——改成一个能展示系统中所有投票页面。默认情况下,Django 显示每个对象 str() 返回。...为此,使用 list_display属性,它是一个包含要显示字段名元组,在更改列表页以列形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):

    23640

    django 学习笔记一

    ,可以操纵另外一个表,并且另外一个表外联 key 自动关联模型 primary key # create 后面的参数是创建另外一个表对象参数 # 则 choice 对象 id 自动关联 q... ID,并且 choice 数据库自动添加一个 q.choice_set.create(choice_text="some text", votes=1) ---- 创建一个管理员用户 教程 ---...站点注册一个模型,则页面可直接显示,修改 admin.py from .models import Question admin.site.register(Question) ---- 自定义管理表单...通常,你会想要自定义管理界面中表单外观和功能。 你可以通过在注册对象时候告知Django一些你想要选项来完成。 让我们通过对编辑表单上字段重新排序来看一下它是如何工作。...= Choice extra = 3 # 设置要添加关联个数 inlines = [ChoiceInline] 设置一个模型展示字段 # 用来设置展示每个模型内容

    1K20

    django 1.8 官方文档翻译: 1-2-4 编写你第一个Django应用,第4部分

    在本例, request.POST[‘choice’] 返回了所选择投票项目的 ID ,以字符串形式。 request.POST 永远是字符串形式。...如果 choice 未在 POST 数据中提供 request.POST[‘choice’] 将抛出 KeyError 当未给定 choice 对象时上面的代码若检测到抛出是 KeyError 异常就会向...这些视图代表了基本 Web 开发中一种常见问题: 根据 URL 参数数据库获取数据,加载模板并返回渲染后内容。...这两个视图分别用于显示两种抽象概念 “显示一系列对象列表” 和 “显示一个特定类型对象详细信息页”。 每个视图都需要知道使用哪个模型数据。因此需要提供将要使用 model 参数。...在 DetailView poll 变量是自动提供 – 因为我们使用了一个 Django 模型 (Poll) ,Django 能够为上下文变量确定适合名称。

    1.5K10

    django模型

    每个模型对 应数据库唯一一张表 如何编写模型 模型:每个模型都用一个类表示,该类继承自django.db.models.Model。...unique 更多 字段选项——null 如果为True,Django将用NULL来在数据库存储空 默认:False 字段选项——blank 如果为True , 该字段允许不填 默认:False...——default 字段默认,可以是一个或者调用对象 字段选项——primary_key 如果为True,那么这个字段就是模型主键 字段选项——unique 如果该设置为True,这个字段在整张表必须是唯一...也可以使用一条语句创建并保存一个对象,使用create()方法 查询对象 通过模型管理器构造一个查询集,来数据库获取对象。 查询集(queryset)表示数据库取出来对象集合。...如果您在某些情 况下使用查询集结果,当您最初获取数据时不知道是否需要这些特定字段,可以告诉 Django不要从数据库检索它们。

    3.1K20

    django 1.8 官方文档翻译: 1-2-1 编写你第一个Django应用,第1部分

    请参考 如何安装 Django 意见先删除旧版本 Django 再安装一个新。...在 Django 编写一个有数据库支持 Web 应用第一步就是定义你模型本质上讲就是数据库设计及其附加元数据。 哲理 模型是有关你数据唯一且明确数据源。...在这简单投票应用,我们将创建两个模型: Poll 和 Choice。Poll 有问题和发布日期两个字段。Choice 有两个字段: 选项 ( choice ) 文本内容和投票数。...哲理 Django 应用是“可插拔”:你可以在多个项目使用一个应用,你还可以分发应用,因为它们没有被捆绑到一个给定 Django 安装环境。...>>> p = Poll.objects.get(pk=1) # 关联对象集中显示所有 choices -- 到目前为止还没有。

    99020

    Django 1.10文文档-第一个应用Part2-模型和管理站点

    如果你不需要它们任何一个或所有应用,可以在运行migrate之前INSTALLED_APPS自由地注释或删除相应行。...每个模型由一个子类django.db.models.Model类表示。每个模型都有一些类变量,每个变量表示模型数据库字段。...理念: Django应用程序是“即插式”:您可以在多个项目中使用应用程序,并且您可以分发应用程序,因为他们不必绑定到给定Django安装。...您必须manage.py所在同一目录运行python,或确保该目录在Python搜索路径,这个import mysite才会成功。...每一种类型字段,Django管理站点都知道如何显示它们; 每个DateTimeField字段都会有个方便JavaScript快捷方式。

    2.3K60

    django实现模型字段动态choice操作

    需求是根据当前登录用户来显示某个choice字段不同选择项。 先放现在实现版本。...未实现思路,想在PushRuleAdmin中直接修改modeltest_mode字段chioce选项,不过没实现, 想修改modelfields,不过发现他是一个ImmutableList类型,...不过stackoverflow上给出这个方法不错,可以参考,就是缺一个获取用户名地方,哪天再看一下 补充知识:django 优雅使用 choice 字段 问题 django如何比较优雅元组进行标记分类...) 在代码尽量不要出现固定硬编码,比如某个判断条件,判断书分类为: # view.py def get(self, request): book = Book.obejects.filter(tag...= BookTagNum.COMPUTER) 以上这篇django实现模型字段动态choice操作就是小编分享给大家全部内容了,希望能给大家一个参考。

    2.6K00

    django 1.8 官方文档翻译: 1-2-3 编写你第一个Django应用,第3部分

    博客详细页面 – 一篇博客独立页面。 基于年份归档页 – 显示给定年份中发表博客所有月份。 基于月份归档页 – 显示给定月份中发表博客所有日期。...基于日期归档页 – 显示给定日期中发表所有的博客。 评论功能 – 为一篇给定博客发表评论。...投票功能 – 为一项给定民意调查处理投票选项。 在 Django ,网页及其他内容是由视图来展现。而每个视图就是一个简单 Python 函数(或方法, 对于基于类视图情况下)。...Django 将会在那寻找模板。 Django TEMPLATE_LOADERS 配置包含一个知道如何各种来源导入模板可调用方法列表。...当 DEBUG 是 False ( 在你 settings 模块 ) 时, 默认 404 视图将使用此模板来显示所有的 404 错误。

    1.8K50

    django 1.8 官方文档翻译: 1-2-2 编写你第一个Django应用,第2部分

    不同模型字段类型 (DateTimeField, CharField) 会对应相应 HTML 输入控件。 每一种类型字段 Djaong 管理网站都知道如何显示它们。...这很简单: from polls.models import Choice admin.site.register(Choice) 现在 “Choices” 在 Django 管理网站上是一个可用选项了...移除对 Choice 模型 register() 方法调用 。...请注意 Django 默认管理网站任何模板都是可覆盖。 要覆盖一个模板,只需要像刚才处理 base_site.html 一样 – 默认目录下复制到你自定义目录下,并修改它。...自定义你 应用 模板 细心读者会问:如果 TEMPLATE_DIRS 默认情况下是空, 那 Django如何找到默认管理网站模板

    2.5K40

    django2.0入门教程第二节

    继上篇 django2.0入门教程第一节,生成了投票应用,接下来讲解如何使用django模型与数据库进行交互 数据库设置 打开mysite/settings.py,可看到默认情况下,django使用是...OK 以上命令将django激活应用所需数据表创建好了 创建模型 django模型(models)在本质上就是对数据表定义。...在django是不需要直接与数据库交互,所有对数据库操作都可以映射为模型操作,有一个数据表,就有一个模型类与之对应 polls/models.py #_*_coding:utf8_*_ from...,得到只是一个对象,看起来并不直观,我们修改下polls/models.py,让结果显示更友好 修改返回数据格式: polls/models.py from django.db import models...admin.png 后台并没有看到我们建立Question模型,需要将模型引入,才能在后台进行维护: polls/admin.py #_*_coding:utf8_*_ from django.contrib

    71130

    Django模型最佳实践

    存储URLCharField UUIDField 存储全局唯一标识符 字段属性 通用字段属性 选项 说明 null 数据库对应字段是否允许为NULL,默认为False blank 后台模型管理验证数据时...,是否允许为NULL,默认为False choices 设定字段选项,各元组第一个是设置在模型,第二是人类可读 db_column 字段对应到数据库表列名,未指定时直接使用字段名称...editable 字段在后台模型管理或ModelForm是否显示,默认为True error_messages 设定字段抛出异常时默认消息字典,其中键包括null、blank、invalid、invalid_choice...unique 设置为True时,表字段必须是唯一 verbose_name 字段在后台模型管理显示名称,未指定时使用字段名称 ForeignKey属性 limit_choices_to:是一个...on_delete:外键关联对象被删除时对应动作,可取包括django.db.models定义: CASCADE:级联删除。

    2.3K40

    Django 学习笔记 1.2 模型和 admin 站点

    2 创建模型Django 里写一个数据库驱动 Web 应用第一步是定义模型 - 也就是数据库结构设计和附加其它元数据。...在这个简单投票应用,需要创建两个模型:问题 Question 和选项 Choice。Question 模型包括问题描述和发布时间。Choice 模型有两个字段,选项描述和当前得票数。...每个选项属于一个问题。 这些概念可以通过一个简单 Python 类来描述。...这个 migrate 命令选中所有还没有执行过迁移(Django 通过在数据库创建一个特殊django_migrations 来跟踪执行过哪些迁移)并应用在数据库上 - 也就是将你对模型更改同步到数据库结构上...4 初试 API 一旦创建 数据模型 后,Django 自动给予你一套数据库抽象 API,允许你创建,检索,更新和删除对象。

    64610
    领券