Python:peewee工具函数model_to_dict的用法参数详解

简介: Python:peewee工具函数model_to_dict的用法参数详解

定义

model_to_dict(
  model[, 
    recurse=True[, 
      backrefs=False[, 
        only=None[, 
          exclude=None[, 
            extra_attrs=None[, 
              fields_from_query=None[, 
                max_depth=None[, 
                  manytomany=False
]]]]]]]])

参数

recurse (bool) – Whether foreign-keys should be recursed.
backrefs (bool) – Whether lists of related objects should be recursed.
only – A list (or set) of field instances which should be included in the result dictionary.
exclude – A list (or set) of field instances which should be excluded from the result dictionary.
extra_attrs – A list of attribute or method names on the instance which should be included in the dictionary.
fields_from_query (Select) – The SelectQuery that created this model instance. Only the fields and values explicitly selected by the query will be serialized.
max_depth (int) – Maximum depth when recursing.
manytomany (bool) – Process many-to-many fields.

示例

模型定义

# -*- coding: utf-8 -*-
import json
from datetime import datetime
from peewee import CharField, IntegerField, DateTimeField, BooleanField, TextField
class UserModel(BaseModel):
    """用户表"""
    id = IntegerField(primary_key=True)
    # 域名
    name = CharField()
    # 密码
    password= CharField(default="")
    # 分组
    age = IntegerField(default=0)
    # 创建时间
    create_time = DateTimeField(default=datetime.now)
    # 更新时间
    update_time = DateTimeField(default=datetime.now)
  # 计算属性
    @property
    def username(self):
       return '用户' + self.id
user = UserModel.get_by_id(1)
model_to_dict(
        model=user,
        # 排除密码字段
        exclude=[DomainModel.password],
        # 增加计算属性字段
        extra_attrs=[
            'username'
        ]
    )

参考

https://docs.peewee-orm.com/en/latest/peewee/playhouse.html#model_to_dict

https://github.com/coleifer/peewee/issues/2386


相关文章
|
18天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
123 67
|
12天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
38 18
|
3天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
30 8
|
10天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
65 7
|
13天前
|
Python
Python中的函数
Python中的函数
28 8
|
20天前
|
监控 测试技术 数据库
Python中的装饰器:解锁函数增强的魔法####
本文深入探讨了Python语言中一个既强大又灵活的特性——装饰器(Decorator),它以一种优雅的方式实现了函数功能的扩展与增强。不同于传统的代码复用机制,装饰器通过高阶函数的形式,为开发者提供了在不修改原函数源代码的前提下,动态添加新功能的能力。我们将从装饰器的基本概念入手,逐步解析其工作原理,并通过一系列实例展示如何利用装饰器进行日志记录、性能测试、事务处理等常见任务,最终揭示装饰器在提升代码可读性、维护性和功能性方面的独特价值。 ####
|
23天前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`"""` 或 `'''`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
43 2
|
27天前
|
Python
Python中的`range`函数与负增长
在Python中,`range`函数用于生成整数序列,支持正向和负向增长。本文详细介绍了如何使用`range`生成负增长的整数序列,并提供了多个实际应用示例,如反向遍历列表、生成倒计时和计算递减等差数列的和。通过这些示例,读者可以更好地掌握`range`函数的使用方法。
40 5
|
26天前
|
JavaScript 前端开发 开发者
探索 DrissionPage: 强大的Python网页自动化工具
DrissionPage 是一个基于 Python 的网页自动化工具,结合了浏览器自动化的便利性和 requests 库的高效率。它提供三种页面对象:ChromiumPage、WebPage 和 SessionPage,分别适用于不同的使用场景,帮助开发者高效完成网页自动化任务。
108 4
|
28天前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。