Comments (5)
Started this at kayak/pypika#201
from tortoise-orm.
Just ran into a problem with the GIS work that this should solve.
Unless I am mistaken this will have the side-effect of allowing us to use pypika function objects in queries as well since pypika should properly handle converting them to raw sql. Practically everything in GIS is done via SQL functions and currently if you pass them in to the sql driver values
list instead of having pypika "render" it properly it will wrap it in quotes / escape it.
Although re-running a query with a mixture of functions and raw sql parameters may cause problems because of the INSERT_CACHE
on tortoise's end
from tortoise-orm.
Hmm, I think this will help for any non-text object. Pypika has a Function
class in utils.py that you could subclass for SQL functions?
I think as long as you pass a value parameter for inserts only, I think it would work. But yes, for that to work PyPika and Tortoise would need to update.
I also think #72 and 'capabilities' would probably be needed to make the GIS implementation not feel hacky.
from tortoise-orm.
PyPika 0.22 is released with Parameter()
syntax. we should update to use it where we can.
I had a look at filtering/updating, and it seems to require quite the refactor to do it.
from tortoise-orm.
v0.16.6 fixed some SQL injection issues for MySQL.
We should focus on parametrizing Queryset Updates as they are at least contained in the UpdateQuery
.
from tortoise-orm.
Related Issues (20)
- Field 'DatetimeField' has error when I use '__year' or '__month'. report this:" 'int' object has no attribute 'utcoffset' " HOT 2
- Tortoise ORM integration with FastAPI lifespan ('NoneType' object is not iterable) HOT 4
- update(balance=Wallet.balance+1) how to do this? HOT 1
- Req: concurrent use of multiple databases HOT 4
- model.update_or_create KeyError HOT 4
- Bug: Pydantic 2.7 broke `pydantic_model_creator` HOT 7
- Occasionally during high-frequency queries, there may be differences between SQL statements and query results, leading to KeyError errors. Additionally, Command Out of Sync errors may also be reported during transactions
- QuerySet.count(): IndexError: list index out of range HOT 3
- ConnectionDoesNotExistError, connection was closed in the middle of operation
- Can not to use relation to table with unsigned pk HOT 2
- Documentation is completely broken - it points to the develop branch but says it's for 0.20.1 HOT 9
- Question - how to configure Tortoise for transparent auto-reconnect? HOT 2
- Doubts about the correctness of the result of the count() method HOT 4
- Add proper error messages and a doc page dedicated for testing HOT 3
- Support symmetrical ManyToMany relationships HOT 2
- Bulk Create without returning objects HOT 3
- OperationalError when attempting to filter by annotated field in m2m relation HOT 1
- Refactoring pydantic_model_creator for Enhanced Code Maintainability and Reliability HOT 2
- 0.21.0 throws "IntegrityError: NOT NULL constraint failed" due to usage of 'pk' to indicate primary key HOT 3
- max recursion bug
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tortoise-orm.