当前位置: 首页 > article >正文

如何获取 Django 模型中所有带有选择的字段?

优质博文:IT-BLOG-CN

问题

我有一个 Django 模型,其中有十几个带有选择选项的字段,我想序列化它们的值以写入 CSV 文件。

我如何遍历字段以找到具有选项的字段?像这样:

for field in MyModel._meta.fields:
    if field.has_choices_on_it():
        print(f.name)

解决方案

每个字段都有一个.choices默认值None,因此我们可以检查它是否为None。但请注意,它.choices 不一定是一系列值,也可以是在需要时生成值的函数(例如,因为它发出数据库请求、使用 API 等)。

for field in MyModel._meta.fields:
    if field.choices is not None:
        print(f.name)
        choices = field.choices
        if callable(choices):
            choices = choices()
        print(choices)

http://www.kler.cn/a/381340.html

相关文章:

  • 理解 TypeScript 枚举及其最佳实践
  • 如何无缝更换WordPress主题:关键步骤详解
  • 比ChatGPT更牛!苹果新AI模型刷新交互体验!能看懂你的手机屏幕!平板和安卓机也都行
  • 重读《人月神话》(12)-未雨绸缪(Plan to Throw One Away)
  • unity 三维数学 ,角度 弧度计算
  • BEV数据集标注成本高?BEVPose:减少对标注数据依赖!
  • 自己生成的页面,保存为图片,并下载word
  • Java+Swing学生信息管理系统
  • JZ8二叉树的下一个结点
  • P10 Pytorch入门实战——Pytorch实现车牌识别
  • WPF 特性------Binding
  • PySpark任务提交
  • Pr 沉浸式视频 - 自动 VR 属性
  • 查找重复的电子邮箱
  • Java 实现接口幂等的九种方法:确保系统稳定性与数据一致性
  • C语言字符数组 java封装
  • sql中判断一个字段是否包含一个数据的方法有哪些?
  • Spring Boot框架在教育领域的创新应用:导师双选系统
  • golang 实现比特币内核:处理椭圆曲线中的天文数字
  • uniapp在js方法中,获取当前用户的uid(uni-id-user)表中的用户id
  • OCR与PaddleOCR介绍
  • 服务器配置一个固定的IP然后可以通过ssh登录作为管理接口
  • 瑞派宠物医院轮值总裁胡文强受邀出席第三届宠物产业大会
  • 【MySQL】深层理解索引及特性(重点)--下(12)
  • Linux下的socket编程
  • LeetCode算法(二叉树)