首页 > 其他分享 >copying model and updating field of pydantic

copying model and updating field of pydantic

时间:2024-11-18 18:17:58浏览次数:1  
标签:id field import post data model pydantic

copying model and updating field

https://github.com/pydantic/pydantic/discussions/2710

 

from datetime import datetime
from typing import List, Optional
from pydantic import BaseModel, Field

class User(BaseModel):
    id: int
    
    class Config:
        validate_assignment = True

external_data = {
    'id': 123
}
user = User(**external_data)
a = user.copy(update={'id': 'j'})
a.id = "s"

 

如何使用FastAPI和PyDantic BaseModel修补程序部分更新数据

 

https://cloud.tencent.com/developer/ask/sof/106632594

from fastapi import FastAPI, Response, status, HTTPException, Path
from fastapi.encoders import jsonable_encoder
from pydantic import BaseModel

app = FastAPI()

class Product(BaseModel):
    name: str
    price: float
    inventory: int

@app.get("/posts/{id}")
def get_a_post(id: int = Path(None, title='Prod ID')):
    cursor.execute('''SELECT * FROM public.products WHERE ID = %s''',(str(id),))
    post = cursor.fetchone()
    if not post:
        raise HTTPException(status_code=status.HTTP_404_NOT_FOUND,
                            detail=f"product with id {id} was not found!")
    return post

@app.patch("/posts/{id}", response_model=Product)
def patch_posts(id: int, post: Product):
    stored_data = post
    stored_model = Product(**stored_data)
    update_data = post.dict(exclude_unset=True)
    updated_data = stored_model.copy(update=update_data)
    post = jsonable_encoder(updated_data)
    return{"partially updated product": post}

 

标签:id,field,import,post,data,model,pydantic
From: https://www.cnblogs.com/lightsong/p/18553363

相关文章

  • 大型语言模型综述 A Survey of Large Language Models
    文章源自2303.18223(arxiv.org)如有侵权,请通知下线这是一篇关于大语言模型(LLMs)的综述论文,主要介绍了LLMs的发展历程、技术架构、训练方法、应用领域以及面临的挑战等方面,具体内容如下:摘要——自从图灵测试在20世纪50年代被提出以来,人类已经探索了机器对语言智能的......
  • ReferenceField、EmbeddedDocumentField和LazyReferenceField的使用和总结对比
    1.ReferenceField功能:用于在一个文档中引用另一个文档,类似于关系型数据库中的外键。存储方式:存储被引用文档的ObjectId。查询行为:当访问该字段时,直接加载被引用的目标文档。适用场景:适合用于多对一关系或文档之间有独立管理需求的情况。特点:引用的目标文档保存在单独的......
  • .only('field_name') 的作用
    在使用mongoengine的QuerySet时,.only('field_name')是一种优化查询的方法,用于指定只查询某些字段的数据。以下是其工作原理及返回的内容:.only('field_name')的作用它限制MongoDB查询返回的字段,仅获取指定的字段内容。用于提高查询性能,减少不必要的数据加载。示例`res......
  • A Text-based Interface for Energy Modeling
    UniversityofNottinghamNingboChinaArchitecturalEngineeringDesign1ComputingPartPythonMilestone2:AText-basedInterfaceforEnergyModelingInthispartofcoursework,youwillbeaskedtodevelopafewmorepythonfunctionsandatext-basedus......
  • 基于大语言模型的自治代理综述 《A Survey on Large Language Model based Autonomous
    图2基于LLM的自治代理架构设计的统一框架基于大语言模型的自治代理综述《ASurveyonLargeLanguageModelbasedAutonomousAgents》自治代理长期以来一直是学术界和工业界的研究热点。以前的研究往往侧重于在孤立的环境中训练知识有限的代理,这与人类的学习过程存......
  • SciTech-BigDataAIML-Statistical Model-Bayes Inference-数据/事实 ∩ 假设: 政治经
    SciTech-BigDataAIML-StatisticalModelBayesInference-数据/事实∩假设\(\large\begin{array}{rl}\\P(H|D)&=\dfrac{P(H)×P(D|H)}{P(D)}\\H:&HypothesisorBeliefandJudgement\\D:&Data/Reality\\P(D\bigcapH):&am......
  • 使用model-viewer加载glb文件
    实现效果代码react项目引入方式可选其一1.在html中引入<scripttype="module"src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>npm或者yarn安装yarnadd@google/model-viewerindex.jsimportReact,{useStat......
  • Vue2.0的v-model指令
    Vue2.0的v-model指令    v-model="属性"写在标签中上,相当于在一个标签上,同时写了  :value='属性值'  @iinput='handler' ,而handler对应的函数如果没有声明,就是给该属性值赋值的setter函数代码一: <!DOCTYPEhtml><htmllang="en"><head><meta......
  • 基于华为云FunctionGraph和ModelArts的智能动漫头像生成:从自拍到AI风格化的编程
    文章目录1引言2背景介绍2.1华为云FunctionGraph与ModelArts简介3项目准备3.1注册与登录华为云账号4实验步骤4.1首先我们配置云主机4.2安装FunctionGraph插件4.3创建函数4.4部署函数4.5函数配置委托4.6函数配置触发器4.7函数添加依赖包4.8订阅模型并部署A......
  • NLP论文速读(斯坦福大学)|生成式奖励模型(Generative Reward Models)
    论文速读|GenerativeRewardModels论文信息:简介:   这篇论文探讨了如何提高现代大型语言模型(LLMs)的性能,特别是在强化学习从人类反馈(RLHF)过程中的效率和效果。RLHF方法虽然有效,但它需要大量的人类偏好数据来训练奖励模型,这不仅资源密集,而且技术上具有挑战性。此外,现......