tortoise-orm关于pydantic序列化模型外键字段无法生成的问题
tortoise-orm关于pydantic序列化模型外键字段无法生成的问题
首先我们定义两个模型,使用外键关联
from tortoise import fields
from tortoise.models import Modelclass Tournament(Model):"""This references a Tournament"""id = fields.IntField(pk=True)name = fields.CharField(max_length=100)#: The date-time the Tournament record was created atcreated_at = fields.DatetimeField(auto_now_add=True)class Event(Model):"""This references an Event in a Tournament"""id = fields.IntField(pk=True)name = fields.CharField(max_length=100)created_at = fields.DatetimeField(auto_now_add=True)tournament = fields.ForeignKeyField("models.Tournament", related_name="events", description="The Tournement this happens in")
使用pydantic_model_creator方法直接生成序列化模型,免去了手动编写序列化模型的麻烦,打印schema
from tortoise.contrib.pydantic import pydantic_model_creatorTournament_Pydantic = pydantic_model_creator(Tournament)
>>> print(Tournament_Pydantic.schema())
{'title': 'Tournament','description': 'This references a Tournament','type': 'object','properties': {'id': {'title': 'Id','type': 'integer'},'name': {'title': 'Name','type': 'string'},'created_at': {'title': 'Created At','description': 'The date-time the Tournament record was created at','type': 'string','format': 'date-time'}}
}
发现根本没有生成外键字段
然后我们使用Tortoise.init_models对模型先进行初始化,其中[]中填写的是模型的位置,后面一个参数是app label, 例如 ‘models’
from tortoise import TortoiseTortoise.init_models(["app.models.model"], "models")
# Now lets try again
Event_Pydantic = pydantic_model_creator(Event)
打印schema:
>>> print(Event_Pydantic.schema())
{'title': 'Event','description': 'This references an Event in a Tournament','type': 'object','properties': {'id': {'title': 'Id','type': 'integer'},'name': {'title': 'Name','type': 'string'},'created_at': {'title': 'Created At','type': 'string','format': 'date-time'},'tournament': {'title': 'Tournament','description': 'The Tournement this happens in','allOf': [{'$ref': '#/definitions/Tournament'}]}},'definitions': {'Tournament': {'title': 'Tournament','description': 'This references a Tournament','type': 'object','properties': {'id': {'title': 'Id','type': 'integer'},'name': {'title': 'Name','type': 'string'},'created_at': {'title': 'Created At','description': 'The date-time the Tournament record was created at','type': 'string','format': 'date-time'}}}}
}
这个序列化模型就带上了外键字段
tortoise-orm关于pydantic序列化模型外键字段无法生成的问题相关推荐
- day08 外键字段的增删改查 正向反向插叙概念 跨表查询 聚合查询与分组查询 F查询
day08 外键字段的增删改查 正向反向插叙概念 跨表查询 聚合查询与分组查询 F查询 昨日内容复习 自定义过滤器.标签.inclusion_tag 1.首先现在应用目录下创建名字为templatet ...
- (转)基于MVC4+EasyUI的Web开发框架经验总结(9)--在Datagrid里面实现外键字段的转义操作...
http://www.cnblogs.com/wuhuacong/p/3872890.html 我们在使用EasyUI的时候,很多情况下需要使用到表格控件datagrid,这个控件控件非常强大,使用起 ...
- xadmin 显示外键字段
如果需要显示在list_display中则需要对外键的model进行修改, 然后list_display中填字段名就好 例: #models.py class A(models.Model):...n ...
- mysql设置外键并一键生成数据表关系图
文章目录 1.概念 2.理解 3.添加外键时需要注意的规则 4.navicat for mysql中设置外键 5.数据表关系图的创建 1.概念 主键是能确定一条记录的唯一标识. 外键用于与另一张表的关 ...
- 外键字段未建索引引发的死锁
现象:一个很简单的程序在压力测试过程中发现死锁,查看trace文件,发现如下信息: Deadlock graph: ---------Blocker(s)-------- ---------Waite ...
- mysql修改外键字段报异常_mysql修改索引时,外键约束造成的奇怪问题_MySQL
Mysql外键 bitsCN.com mysql修改索引时,外键约束造成的奇怪问题 事情是这样的,在Windows的mysql5.5 ,我想修改一个表的索引,于是执行 [sql] ALTER TABL ...
- 转化关系模型外键_网站数据分析:流量运营分析模型拯救你的广告流量
点击上方蓝色字关注我们~ 来源:掘金 本章的分析模型围绕流量数据化运营展开,主要包括:流量波动检测.渠道特征聚类.广告整合传播模型.流量预测模型. 1 流量波动检测 在广告流量结构中,有几类流量是相对 ...
- Django annotate: 外键字段解析问题
错误信息: FieldError:Cannot resolve keyword 'entry' into field. Choices are:xx,xx,xx, Models: class Ami( ...
- django-rest-framework序列化外键操作序列化
项目是有django django-rest-framework django-filter 组合.其中django-rest-framwork的几个组合包一定要记得下载,否则会导致部分功能不能用. ...
最新文章
- 我来分析委托的协变与逆变
- angular2、ng2 http get post 传参
- HTML中的5种空格表示,HTML中的5种空格各表示的意义
- 常见荧光定量 PCR 检测方法比较
- jzoj3682-Points and Segments【模型转化,欧拉回路】
- vue axios解决post传参数问题
- Python文档阅读笔记-PyAutoGUI基本使用
- Qt 信号-槽的同步与异步处理
- ltp-ddt的makefile结构
- PLSQL连接本地的Oracle数据库
- NWT融资一百万,被老张嘲笑了
- Atitit 理解参数 目录 1. 参数	1 1.1. 意义	1 1.2. 形式参数 实际参数	1 1.3. 默认参数 vs 必须参数	2 1.4. 位置参数,那么这个命名关键字参数	2 1.5. I
- 阿斯克码表ACSII对照表
- 从零读懂CAN总线(上)
- idea 常用配置介绍(一)
- 第三章微分中值定理与导数应用
- Java8 ConcurrentHashMap的get()方法真的不需要加锁吗?
- unittest pycharm test framework quit unexpectedly 解决 Empty suite问题
- 传音控股以科技立品牌,2021一季度净利大增125.93%
- 征文 | 收获,不止GBase 8a——GBase 8a培训总结与感受