Commit Graph

121 Commits

Author SHA1 Message Date
500625f0ec WIP - Pydantic v2 support (#1238)
* WIP

* WIP - make test_model_definition tests pass

* WIP - make test_model_methods pass

* WIP - make whole test suit at least run - failing 49/443 tests

* WIP fix part of the getting pydantic tests as types of fields are now kept in core schema and not on fieldsinfo

* WIP fix validation in update by creating individual fields validators, failing 36/443

* WIP fix __pydantic_extra__ in intializing model, fix test related to pydantic config checks, failing 32/442

* WIP - fix enum schema in model_json_schema, failing 31/442

* WIP - fix copying through model, fix setting pydantic fields on through, fix default config and inheriting from it, failing 26/442

* WIP fix tests checking pydantic schema, fix excluding parent fields, failing 21/442

* WIP some missed files

* WIP - fix validators inheritance and fix validators in generated pydantic, failing 17/442

* WIP - fix through models setting - only on reverse side of relation, but always on reverse side, failing 15/442

* WIP - fix through models setting - only on reverse side of relation, but always on reverse side, failing 15/442

* WIP - working on proper populating __dict__ for relations for new schema dumping, some work on openapi docs, failing 13/442

* WIP - remove property fields as pydantic has now computed_field on its own, failing 9/442

* WIP - fixes in docs, failing 8/442

* WIP - fix tests for largebinary schema, wrapped bytes fields fail in pydantic, will be fixed in pydantic-core, remaining is circural schema for related models, failing 6/442

* WIP - fix to pk only models in schemas

* Getting test suites to pass (#1249)

* wip, fixing tests

* iteration, fixing some more tests

* iteration, fixing some more tests

* adhere to comments

* adhere to comments

* remove unnecessary dict call, re-add getattribute for testing

* todo for reverse relationship

* adhere to comments, remove prints

* solve circular refs

* all tests pass 🎉

* remove 3.7 from tests

* add lint and type check jobs

* reforat with ruff, fix jobs

* rename jobs

* fix imports

* fix evaluate in py3.8

* partially fix coverage

* fix coverage, add more tests

* fix test ids

* fix test ids

* fix lint, fix docs, make docs fully working scripts, add test docs job

* fix pyproject

* pin py ver in test docs

* change dir in test docs

* fix pydantic warning hack

* rm poetry call in test_docs

* switch to pathlib in test docs

* remove coverage req test docs

* fix type check tests, fix part of types

* fix/skip next part of types

* fix next part of types

* fix next part of types

* fix coverage

* fix coverage

* fix type (bit dirty 🤷)

* fix some code smells

* change pre-commit

* tweak workflows

* remove no root from tests

* switch to full python path by passing sys.executable

* some small refactor in new base model, one sample test, change makefile

* small refactors to reduce complexity of methods

* temp add tests for prs against pydantic_v2

* remove all references to __fields__

* remove all references to construct, deprecate the method and update model_construct to be in line with pydantic

* deprecate dict and add model_dump, todo switch to model_dict in calls

* fix tests

* change to union

* change to union

* change to model_dump and model_dump_json from dict and json deprecated methods, deprecate them in ormar too

* finish switching dict() -> model_dump()

* finish switching json() -> model_dump_json()

* remove fully pydantic_only

* switch to extra for payment card, change missed json calls

* fix coverage - no more warnings internal

* fix coverage - no more warnings internal - part 2

* split model_construct into own and pydantic parts

* split determine pydantic field type

* change to new field validators

* fix benchmarks, add codspeed instead of pytest-benchmark, add action and gh workflow

* restore pytest-benchmark

* remove codspeed

* pin pydantic version, restore codspeed

* change on push to pydantic_v2 to trigger first one

* Use lifespan function instead of event (#1259)

* check return types

* fix imports order, set warnings=False on json that passes the dict, fix unnecessary loop in one of the test

* remove references to model's meta as it's now ormar config, rename related methods too

* filter out pydantic serializer warnings

* remove choices leftovers

* remove leftovers after property_fields, keep only enough to exclude them in initialization

* add migration guide

* fix meta references

* downgrade databases for now

* Change line numbers in documentation (#1265)

* proofread and fix the docs, part 1

* proofread and fix the docs for models

* proofread and fix the docs for fields

* proofread and fix the docs for relations

* proofread and fix rest of the docs, add release notes for 0.20

* create tables in new docs src

* cleanup old deps, uncomment docs publish on tag

* fix import reorder

---------

Co-authored-by: TouwaStar <30479449+TouwaStar@users.noreply.github.com>
Co-authored-by: Goran Mekić <meka@tilda.center>
2024-03-23 19:28:28 +01:00
eea2ba0bef Correct spelling mistakes (#1163)
Co-authored-by: collerek <collerek@gmail.com>
2023-08-15 11:56:19 +02:00
c793d665fe Update releases (#1111) 2023-06-18 19:04:53 +02:00
fd77f029c2 Release 0.12.1 (#998) 2023-01-29 13:20:16 +01:00
dda5e24e94 Prepare 0.12.0 release (#892) 2022-10-21 19:53:00 +02:00
3cd33e6d8b update release notes (#818) 2022-09-07 12:55:37 +02:00
6af92aa893 Fix enum schema (#715)
* fix schema with enum fields - issue #699

* fix drivers dependencies - make them optional

* fix command

* provide extras

* add bolean field to related model

* add test with select related and boolean

* new test case based on issue

* fix bool issue in postgres limit queries - issue #704

* fix coverage

* bump version and add release info
2022-06-26 19:36:13 +02:00
4d76934a9d 0.11.1 - Fix deepcopy issues (#695)
* fix deepcopy issues

* bump version, add release changelog
2022-06-08 19:18:35 +02:00
90f78e2fa7 Draft 0.11.0 (#594)
* fix for #584

* fix for #580

* fix typing

* connect to db in test

* refactor test

* remove async mark

* connect client

* fix mypy

* fix mypy

* update deps

* check py3.10?

* remove py3.6, bump version
2022-03-28 18:47:35 +02:00
be7a0ff9c1 prepare_next_rel 2022-02-25 11:30:32 +01:00
5677bda054 fix json fields in bulk operations 2022-01-14 18:27:49 +01:00
bf3b36194b bump databases, remove skip on sqlite test 2022-01-14 16:54:26 +01:00
e7174e321c bump version, update release info 2022-01-06 19:57:09 +01:00
f245e91740 #455 fix improper quoting of on clause 2021-12-16 18:19:55 +01:00
1b9a59b49d #453 make first and get respect user ordering if set on main model 2021-12-16 17:24:23 +01:00
bc5c6222b1 #485 add possibility to pass comments to sqlalchemy 2021-12-16 16:41:50 +01:00
d7b823f5b6 bump version 2021-10-15 10:43:06 +02:00
10e2d01a91 update docs, bump version, update releases 2021-10-12 18:52:40 +02:00
1da9111dbd add extra to Model.Meta, update docs and bump version 2021-09-26 14:07:47 +02:00
896829fcd8 finish rel 2021-09-13 15:56:27 +02:00
beb43dd76c add caching of relation map to increase performance 2021-09-10 12:58:26 +02:00
913de2dc44 update releases info 2021-09-08 11:10:43 +02:00
cd87303b5c add multi column non unique columns 2021-09-06 16:47:37 +02:00
46500eba39 fix for #327 and #328 2021-09-01 11:50:04 +02:00
aedebe0403 add support for sqlalchemy >=1.4 2021-08-30 09:47:38 +02:00
b70a6691b0 bump version 2021-08-27 16:12:49 +02:00
521b9e6c12 fix for obsolete pydantic parameters 2021-08-06 16:03:29 +02:00
b423c1c56d fixes for #270 and #274 2021-07-21 14:39:23 +02:00
cb4e5ea955 improve date handling 2021-07-06 15:11:26 +02:00
107404c3e8 fix inherited pk and add field accessor access to relations 2021-06-25 13:32:31 +02:00
172a6a2be6 bug fixes 2021-06-22 12:58:39 +02:00
9b27ef187d add release notes 2021-06-08 14:39:03 +02:00
7b92884f39 fix for #226 2021-06-04 15:50:09 +02:00
c8ca6edb22 fix for not saving related model in reverse rel 2021-06-02 13:05:10 +02:00
f52797fb06 more tests for excluding parent fields, finished docs 2021-06-02 10:16:47 +02:00
64e4288358 expand docs on get_pydantic 2021-05-31 19:04:01 +02:00
45838ce884 update pins 2021-05-30 11:12:14 +02:00
a28ab0a8a2 fixes for #199 and unreported choices bug 2021-05-18 16:16:12 +02:00
57803ac8e6 fix for default values in pk models 2021-05-18 13:34:02 +02:00
0527c5fb82 refactor into descriptors, cleanup, docs update 2021-05-17 17:21:10 +02:00
bd2a67af84 update docs, add params to json too 2021-05-11 17:39:43 +02:00
70ac1e3361 add excludes for pks and through models in dict 2021-05-07 18:38:44 +02:00
12c002776b add examples to openapi schema, some perf improvements 2021-04-30 16:46:41 +02:00
734c33920b add support for normal pydantic fields 2021-04-28 19:17:59 +02:00
11ed5fd322 add large binary field, tests and docs 2021-04-28 17:06:15 +02:00
638af9ad4c fix #173 and https://github.com/uriyyo/fastapi-pagination/issues/73 2021-04-23 15:45:35 +02:00
2088cb16b5 fix isnull typo and formatting 2021-04-22 18:55:45 +02:00
c11e1a870f update docs and readme 2021-04-21 11:28:49 +02:00
5e38426694 finish release notes, add more test 2021-04-20 11:52:41 +02:00
7a27778b44 add and/or/not to filtergroups, add left and right shift to operators, add some tests, add *args to other functions that read data and use filter 2021-04-19 19:49:42 +02:00