Open
Conversation
bd089cb to
17b9faf
Compare
17b9faf to
4b4b244
Compare
30a66f1 to
76a0359
Compare
76a0359 to
1072595
Compare
1072595 to
ab115ca
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This PR contains the following updates:
==2.10.2->==3.17.6Release Notes
coleifer/peewee (peewee)
v3.17.6Compare Source
model.delete_instance()when a table containsforeign-keys at multiple depths of the graph, #2893.
time.time()returnsidentical values for two connections. This adds a no-op comparable sentinel
to the heap to prevent any recurrence of this problem, #2901.
CASEstatements generate correct SQL.3.16.0).
constants are no longer available on the
Connectioninstance.double-quoted string literals used as column defaults.
View commits
v3.17.5Compare Source
This release fixes a build system problem in Python 3.12, #2891.
View commits
v3.17.4Compare Source
of the CASE clauses consisted of a subquery. Refs #2873.
new fix in #2872 for regression in truthiness of cursor.
View commits
v3.17.3Compare Source
View commits
v3.17.2Compare Source
psycopg3.jsonb.list(query)resulted in extra queries, #2871View commits
v3.17.1Compare Source
BigBitField, #2802.add_column_defaultanddrop_column_defaultmigrator methods forspecifying a server-side default value, #2803.
starattribute was causing issues for users who had a field namedstar on their models. This attribute is now renamed to
__star__. #2796.model_to_dict()when only aliases are present.reconnect=argument toping()if using MySQL 8.x.View commits
v3.17.0Compare Source
@db.transactiondecorator/ctx manager ifan unhandled exception occurs. Previously, an unhandled exception that
occurred in a nested
transactioncontext would trigger a rollback. The useof nested
transactionhas long been discouraged in the documentation: therecommendation is to always use
db.atomic, which will use savepoints toproperly handle nested blocks. However, the new behavior should make it
easier to reason about transaction boundaries - see #2767 for discussion.
BEGINin the reconnect-mixin. Given that no transactionhas been started, reconnecting when beginning a new transaction ensures that
a reconnect will occur if it is safe to do so.
isolation_levelindb.atomic()anddb.transaction()when using Postgres and MySQL/MariaDB, which will apply tothe wrapped transaction. Note: Sqlite has supported a similar
lock_typeparameter for some time.
SQLITE_DETERMINISTICfunction flag. This allowsuser-defined Sqlite functions to be used in indexes and may be used by the
query planner.
column name.
View commits
v3.16.3Compare Source
ManyToManyFieldto prevent setting/getting values on unsavedinstances. This is worthwhile, since reading or writing a many-to-many has no
meaning when the instance is unsaved.
star()helper toSourcebase-class for selecting all columns.binarytypes for mysql-connector and mariadb-connector.extract()method to MySQLJSONFieldfor extracting a jsonpath.View commits
v3.16.2Compare Source
Fixes a longstanding issue with thread-safety of various decorators, including
atomic(),transaction(),savepoint(). The context-managers areunaffected. See #2709 for details.
View commits
v3.16.1Compare Source
language-level to 3.
PREFETCH_TYPE.JOIN.
when possible. This can be overridden by passing
legacy=Trueflag.View commits
v3.16.0Compare Source
This release contains backwards-incompatible changes in the way Peewee
initializes connections to the underlying database driver. Previously, peewee
implemented autocommit semantics on-top of the existing DB-API transactional
workflow. Going forward, Peewee instead places the DB-API driver into
autocommit mode directly.
Why this change?
Previously, Peewee emulated autocommit behavior for top-level queries issued
outside of a transaction. This necessitated a number of checks which had to be
performed each time a query was executed, so as to ensure that we didn't end up
with uncommitted writes or, conversely, idle read transactions. By running the
underlying driver in autocommit mode, we can eliminate all these checks, since
we are already managing transactions ourselves.
Behaviorally, there should be no change -- Peewee will still treat top-level
queries outside of transactions as being autocommitted, while queries inside of
atomic()/with db:blocks are implicitly committed at the end of theblock, or rolled-back if an exception occurs.
How might this affect me?
Database.connection()orDatabase.cursor(), your queries will now beexecuted in autocommit mode.
commit=argument is deprecated for thecursor(),execute()andexecute_sql()methods.Databaseimplementation (whether for a database thatis not officially supported, or for the purpose of overriding default
behaviors), you will want to ensure that your connections are opened in
autocommit mode.
Other changes:
get_columns()implementation now returns columns in their declaredorder.
View commits
v3.15.4Compare Source
ReconnectMixinif connection is lost while inside atransaction (if the transaction was interrupted presumably some changes were
lost and explicit intervention is needed).
db.Modelproperty to reduce boilerplate.prefetch()queries with joins instead of subqueries(this helps overcome a MySQL limitation about applying LIMITs to a subquery).
AVGto whitelist to avoid coercing by default.pyproject.tomlto silence warnings from newer pips whenwheelpackage is not available.
This release has a small helper for reducing boilerplate in some cases by
exposing a base model class as an attribute of the database instance.
v3.15.3Compare Source
scalars()query method (complementsscalar()), roughly equivalent towriting
[t[0] for t in query.tuples()].View commits
v3.15.2Compare Source
used for LIKE / ILIKE operations. Refs #2609
__iter__methodon certain
Columnsubclasses. Refs #2606should be bound to, in queries with joins that select from multiple sources.
View commits
v3.15.1Compare Source
subtypes in subqueries.
transaction on an unopened database.
View commits
v3.15.0Compare Source
Rollback behavior change in commit
ab43376(GH #2026). Peewee will no longerautomatically return the cursor
rowcountfor certain bulk-inserts. Thisshould mainly affect users of MySQL and Sqlite who relied on a bulk INSERT
returning the
rowcount(as opposed to the cursor'slastrowid). Therowcountbehavior is still available chaining theas_rowcount()method:v3.14.10Compare Source
Previous behavior (peewee 3.12 - 3.14.10):
v3.14.9Compare Source
table_exists()with a model-class, refsis_connection_usable()method ofMySQLDatabaseclass.playhouse.dataset.DataSetand sqlite-web.playhosue.kvfor newer Sqlite.ArrayField.contained_by()method, a corollary tocontains()andthe
contains_any()methods.also for sqlite-web.
full-text index.
setup.pyin the event distutils is not available.View commits
v3.14.8Compare Source
Back-out all changes to automatically use RETURNING for
SqliteExtDatabase,CSqliteExtDatabaseandAPSWDatabase. The issue I found is that when aRETURNING cursor is not fully-consumed, any parent SAVEPOINT (and possibly
transaction) would not be able to be released. Since this is a
backwards-incompatible change, I am going to back it out for now.
Returning clause can still be specified for Sqlite, however it just needs to be
done so manually rather than having it applied automatically.
View commits
v3.14.7Compare Source
Fix bug in APSW extension with Sqlite 3.35 and newer, due to handling of last
insert rowid with RETURNING. Refs #2479.
View commits
v3.14.6Compare Source
Fix pesky bug in new
last_insert_id()on theSqliteExtDatabase.View commits
v3.14.4Compare Source
This release contains an important fix for a regression introduced by commit
ebe3ad5, which affected the way model instances are converted to parameters foruse in expressions within a query. The bug could manifest when code uses model
instances as parameters in expressions against fields that are not
foreign-keys.
The issue is described in #2376.
View commits
v3.14.3Compare Source
This release contains a single fix for ensuring NULL values are inserted when
issuing a bulk-insert of heterogeneous dictionaries which may be missing
explicit NULL values. Fixes issue #2638.
View commits
v3.14.2Compare Source
This is a small release mainly to get some fixes out.
Checkand foreign-key constraints.fn.array_agg()to blacklist for automatic value coercion.View commits
v3.14.1Compare Source
Previous behavior (peewee 3.12 - 3.14.10):
v3.14.0Compare Source
This release has been a bit overdue and there are numerous small improvements
and bug-fixes. The bugfix that prompted this release is #2293, which is a
regression in the Django-inspired
.filter()APIs that could cause somefilter expressions to be discarded from the generated SQL. Many thanks for the
excellent bug report, Jakub.
shortcuts.resolve_multimodel_query(), forresolving multiple models used in a compound select query.
lateral()method to select query for use with lateral joins, refsissue #2205.
20.1 or newer).
converter()to be used for specifying a function to use toconvert a row-value pulled off the cursor, refs #2248.
set()andclear()method to the bitfield flag descriptor, refs #2257.rangetypes withINand other expressions.Bug-fixes
when the related object is not populated, refs #2162.
refs #2171.
issue #2131 and fixes #2185.
issue #2200.
save()andonly=, refs #2269.filter()where using both*argsand**kwargscausedthe expressions passed as
argsto be discarded. See #2293.View commits
v3.13.3Compare Source
DataSetconstructor,which are then passed to the instrospector.
bulk_create()when model being inserted uses FK identifiers.bulk_update()so that PK values are properly coerced to the rightdata-type (e.g. UUIDs to strings for Sqlite).
updating a single array index value.
View commits
v3.13.2Compare Source
ORDER BYclause, via the additionof an
order_by()method to the function (fn) instance. Refs #2094.prefetch()bug, where related "backref" instances were marked as dirty,even though they had no changes. Fixes #2091.
LIMIT 0. Previously a limit of 0 would be translated intoeffectively an unlimited query on MySQL. References #2084.
References #2085.
indexes in the correct order. Fixes #2104.
iterating over cursor/result-set.
building the model-graph. Fixes #2115.
Refs #2131.
JSONField.concat()accepts expressions as arguments.View commits
v3.13.1Compare Source
Fix a regression when specifying keyword arguments to the
atomic()ortransaction()helper methods. Note: this only occurs if you were using Sqliteand were explicitly setting the
lock_type=parameter.View commits
v3.13.0Compare Source
CockroachDB support added
This will be a notable release as it adds support for
CockroachDB, a distributed, horizontally-scalable
SQL database.
Other features and fixes
FOR UPDATEclause to specify one or more tables (FOR UPDATE OF...).LATERALjoin.appropriate peewee-specific exception class.
exc.origon thewrapped exception.
SMALLINTcolumns in Postgres schema reflection.atomic()and
transaction()context-manager/decorator.filter()APIacross several tables (#2063).
View commits
v3.12.0Compare Source
insert_many()andinsert_from()) will now return the rowcount instead of the last insert ID. If you are using Postgres, peewee will
continue to return a cursor that provides an iterator over the newly-inserted
primary-key values by default. This behavior is being retained by default for
compatibility. Postgres users can simply specify an empty
returning()callto disable the cursor and retrieve the rowcount instead.
alter_column_type()method.Database.is_connection_usabe()method, which attempts to look at thestatus of the underlying DB-API connection to determine whether the
connection is usable.
materializedparameter, which can beused to control Postgres' optimization fencing around CTEs.
BloomFilter.from_buffer()method for populating a bloom-filter fromthe output of a previous call to the
to_buffer()method.commit()androllback()methods to no-op if thedatabase is in auto-commit mode.
generate_always=option to theIdentityField(defaults to False).View commits
v3.11.2Compare Source
hashinterface forAliasinstances, allowing them to be used inmulti-source queries.
View commits
v3.11.1Compare Source
_pk/get_id()implementation for models that explicitlyhave disabled a primary-key.
View commits
v3.11.0Compare Source
chain, where the outer two models are empty. Previously peewee would make the
middle model an empty model instance (since a link might be needed from the
source model to the outermost model). But since both were empty, it is more
correct to make the intervening model a NULL value on the foreign-key field
rather than an empty instance.
primary-key happened to be a foreign-key could trigger the FK resolution
query. This patch fixes the
Model._pkandget_id()interfaces so theyno longer introduce the possibility of accidentally resolving the FK.
Field.contains(),startswith()andendswith()to compare againstanother column-like object or expression.
of parenthesized expressions (like IN).
is INTEGER or REAL, since Sqlite allows this.
TimestampFieldresolution cleanup. Now values 0 and 1 will resolve to atimestamp resolution of 1 second. Values 2-6 specify the number of decimal
places (hundredths to microsecond), or alternatively the resolution can still
be provided as a power of 10, e.g. 10, 1000 (millisecond), 1e6 (microsecond).
subclass will also be self-referential (rather than pointing to the parent
model).
datasetextension.dataset.Tableclass for doing primary-key lookup,assignment, or deletion.
ReconnectMixinhelper to work with mysql-connector.Previously it mapped to single-precision, now it correctly uses a double.
PostgresqlExtDatabaseandMySQLConnectorDatabasedid notrespect the
autoconnectsetting.View commits
v3.10.0Compare Source
playhouse.mysql_extfor creatingMatchfull-text searchexpressions.
TimestampFieldfor accessing the year, month,day, etc., within a SQL expression.
to_timestamp()helper forDateFieldandDateTimeFieldthatproduces an expression returning a unix timestamp.
autoconnectparameter toDatabaseclasses. This parameter defaults toTrueand is compatible with previous versions of Peewee, in which executinga query on a closed database would open a connection automatically. To make
it easier to catch inconsistent use of the database connection, this behavior
can now be disabled by specifying
autoconnect=False, making an explicitcall to
Database.connect()needed before executing a query.isolation_levelto be specified when initializing a Postgres db.Changes
objects from the database cursor (rather than using whatever
cursor.descriptiontells us, which is buggy in older Sqlite).insert_many()andinsert()methods.
foreign-key whose name matches that of the related model. Previously, this
would have raised a
ValueErrorstating that multiple FKs existed.with Postgres'
date_trunc()behavior. Previously, truncating a datetime tomonth resolution would return
'2019-08'for example. As of 3.10.0, theSqlite and MySQL
date_truncimplementation returns a full datetime, e.g.'2019-08-01 00:00:00'.Previously, Peewee just wrapped the value in the psycopg2
Json()helper.In this version, Peewee now dumps the json to a string and applies an
explicit cast to the underlying JSON data-type (e.g. json or jsonb).
Bug fixes
model_to_dict.conversion (e.g., a UUID). See #1979 for details.
multiple connections are checked-out at the same exact time.
View commits
v3.9.6Compare Source
Databaseinstance as a context-manager. The outermostblock will handle opening and closing the connection along with wrapping
everything in a transaction. Nested blocks will use savepoints.
session_start(),session_commit()andsession_rollback()interfaces to the Database object to support using transactional controls in
situations where a context-manager or decorator is awkward.
isolation_level=Nonein SQLite connection constructor rather thanafterwards using the setter.
create_table()method toSelectquery to implementCREATE TABLE AS.View commits
v3.9.5Compare Source
VALUESclause.TimestampFieldas a power-of-10.INSERTqueries when the primary-key is not anauto-incrementing integer, but is generated by the database server (eg uuid).
conversions.
context manager, #1913.
View commits
v3.9.4Compare Source
Model.bulk_update()method for bulk-updating fields across multiplemodel instances. Docs.
lazy_loadparameter toForeignKeyField. When initialized withlazy_load=False, the foreign-key will not use an additional query toresolve the related model instance. Instead, if the related model instance is
not available, the underlying FK column value is returned (behaving like the
"_id" descriptor).
Model.truncate_table()method.reflectionandpwizextensions now attempt to be smarter aboutconverting database table and column names into snake-case. To disable this,
you can set
snake_case=Falsewhen calling theIntrospector.introspect()method or use the
-L(legacy naming) option with thepwizscript.insert_many()no longer require specification of thefields argument when the inserted rows are lists/tuples. In that case, the
fields will be inferred to be all model fields except any auto-increment id.
DatabaseProxy, which implements several of theDatabaseclass contextmanagers. This allows you to reference some of the special features of the
database object without directly needing to initialize the proxy first.
for the GROUPS frame type.
window function.
TSVectorField.match()method supports anadditional argument
plain, which can be used to control the parsing of theTS query.
JSONFieldto the playhouse MySQL extension.View commits
v3.9.3Compare Source
NULLS FIRST/LASTwhen specifying theordering for a query. Previously this was only supported for Postgres. Peewee
will now generate an equivalent
CASEstatement for Sqlite and MySQL.helper for referring to the
EXCLUDEDnamespace used withINSERT...ON CONFLICTqueries, when referencing values in the conflicting row data.
Metadataclass for setting the table nameat run-time. Setting the
Model._meta.table_namedirectly may have appearedto work in some situations, but could lead to subtle bugs. The new API is
Model._meta.set_table_name().DataSetthat was originally reported on thesqlite-web project.
View commits
v3.9.2Compare Source
Includes a bugfix for an
AttributeErrorthat occurs when using MySQL with theMySQLdbclient. The 3.9.2 release includes fixes for a test failure.View commits
v3.9.1Compare Source
Includes a bugfix for an
AttributeErrorthat occurs when using MySQL with theMySQLdbclient. The 3.9.2 release includes fixes for a test failure.View commits
v3.9.0Compare Source
database, printing model definitions and printing CREATE TABLE sql for a
model. See the "use peewee interactively" section for details.
__str__implementation to allQuerysubclasses which converts thequery to a string and interpolates the parameters.
sqlite_ext.JSONFieldregarding the serialization of data,as well as the addition of options to override the JSON serialization and
de-serialization functions.
index_typeparameter toFieldDatabaseProxy, which allows one to use database-specific decoratorswith an uninitialized
Proxyobject. See #1842 for discussion. Recommendthat you update any usage of
Proxyfor deferring database initialization touse the new
DatabaseProxyclass instead.INSERT ... ON CONFLICTwhen the conflict target is apartial index (e.g., contains a
WHEREclause). TheOnConflictandon_conflict()APIs now take an additionalconflict_whereparameter torepresent the
WHEREclause of the partial index in question. See #1860.playhouse.kvextension to use efficient upsert for alldatabase engines. Previously upsert was only supported for sqlite and mysql.
orwhere()query filtering method, which will append the givenexpressions using
ORinstead ofAND. See #391 for old discussion.examples/directoryselect_from()API for wrapping a query and selecting one or morecolumns from the wrapped subquery. Docs.
contained a barely-faster function for quoting entities.
Bugfixes
expressions.
prefetch()and fixed bug that could occur when mixingself-referential foreign-keys and model aliases.
upsert. Peewee now introspects the MySQL server version at connection time to
ensure proper handling of version-specific features. See #1834 for details.
TimestampFieldwould treat zero values asNonewhenreading from the database.
View commits
v3.8.2Compare Source
Backwards-incompatible changes
INSERTqueries executed with a non-defaultRETURNINGclause has changed fromtupletoModelinstances. This makesINSERTbehavior consistent withUPDATEandDELETEqueries that specifya
RETURNINGclause. To revert back to the old behavior, just append a callto
.tuples()to yourINSERT ... RETURNINGquery.table_aliasmodelMetaoption. Previously, thisattribute could be used to specify a "vanity" alias for a model class in the
generated SQL. As a result of some changes to support more robust UPDATE and
DELETE queries, supporting this feature will require some re-working. As of
the 3.8.0 release, it was broken and resulted in incorrect SQL for UPDATE
queries, so now it is removed.
New features
playhouse.shortcuts.ReconnectMixin, which can be used to implementautomatic reconnect under certain error conditions (notably the MySQL error
2006 - server has gone away).
Bugfixes
ORDER BYclause of a query.
algorithm for SQLite full-text search.
View commits
v3.8.1Compare Source
New features
SearchFieldnow supports thematch()operator, allowing full-textsearch to be performed on a single column (as opposed to the whole table).
Changes
Bugfixes
ManyToManyFieldinstances.... UPDATE query, which allows field-specific conversions to be applied.
References #1815.
View commits
v3.8.0Compare Source
New features
BinaryJSONFieldnow supportshas_key(),concat()andremove()methods (though remove may require pg10+).python_value()method to the SQL-function helperfn, to allowspecifying a custom function for mapping database values to Python values.
Changes
support for UPDATE and RETURNING clauses. This means that the
QualifiedNameshelper is no longer needed for certain types of queries.SqlCipherDatabaseno longer accepts akdf_iterparameter. Toconfigure the various SQLCipher encryption settings, specify the setting
values as
pragmaswhen initializing the database.names if those columns are foreign-keys. See #1799 for discussion.
UUIDFieldandBinaryUUIDFieldto accept hexadecimal UUID strings aswell as raw binary UUID bytestrings (in addition to
UUIDinstances, whichare already supported).
ForeignKeyFieldto be created without an index.cast()to be chained (#1795).are truncated using the same logic as is currently in place for long indexes.
ManyToManyFieldsupports foreign-keys to fields other than primary-keys.SQLITE_CONSTRAINTtodesignate invalid queries against virtual tables.
following the SELECT statement.
Bugfixes
order_by_extend(), thanks @nhatHero.DataSetCSV import/export did not support non-ASCIIcharacters in Python 3.x.
model_to_dictwould attempt to traverse explicitly disabledforeign-key backrefs (#1785).
column-name begins with "primary_".
View commits
v3.7.1Compare Source
New features
table_settingsmodelMetaoption, which should be a list of stringsspecifying additional options for
CREATE TABLE, which are placed afterthe closing parentheses.
on_updateandon_deletebehavior for many-to-manyrelationships when using
ManyToManyField.Bugfixes
conflict_target is a named constraint (rather than an index expression). This
introduces a new keyword-argument to the
on_conflict()method:conflict_constraint, which is currently only supported by Postgresql. Refsissue #1737.
INexpressions. Previously the query would be assigned an alias, even though an
alias was not needed.
as indexed columns.
SQLite FTS5 virtual tables.
frozensetto be correctly parameterized as a list of values.columnsas a list of strings.CROSS JOINfor model select queries.View commits
v3.7.0Compare Source
Backwards-incompatible changes
close_all()method renamed toclose_idle()to betterreflect the actual behavior.
InterfaceErrorwhenconnect()orclose()arecalled on an uninitialized, deferred database object.
New features
constraints.
method for bulk-inserting unsaved model instances.
close_stale()method to the connection pool to support closing staleconnections.
FlaskDBclass inplayhouse.flask_utilsnow accepts amodel_classparameter, which can be used to specify a custom base-class for models.
Bugfixes
than one argument.
initially with a
DeferredThroughModel, see #1708.ArrayFieldwith an array ofBlobField.Proxydatabases to be used as a context-manager.standard library
sqlite3driver, rather than fromapsw.marks if the column data-type is text/varchar.
attempting to add indexes whose name exceeded 64 chars.
are rolled-back when the connection is recycled.
setup.pyscript. In this case I've added ahelper function which will reliably determine if the SQLite3 extensions can
be built. This follows the approach taken by the Python YAML package.
View commits
v3.6.4Compare Source
Take a whole new approach, following what
simplejsondoes. Allow thebuild_extcommand class to fail, and retry without extensions in the event werun into issues building extensions. References #1676.
View commits
v3.6.3Compare Source
Add check in
setup.pyto determine if a C compiler is available beforebuilding C extensions. References #1676.
View commits
v3.6.2Compare Source
Use
ctypes.util.find_libraryto determine iflibsqlite3is installed.Should fix problems people are encountering installing when SQLite3 is not
available.
View commits
v3.6.1Compare Source
Fixed issue with setup script.
View commits
v3.6.0Compare Source
handling inside of generators.
ROWSorRANGEwindow frame types. For moreinformation, see the new frame type documentation.
and sqlite 3.25.0 or newer.
TimestampFieldnow uses 64-bit integer data-type for storage.pwizandplayhouse.reflectionto enable generatingmodels from VIEWs.
3.8-dev.
pre-generated C source files.
setuptoolsfor packaging.View commits
v3.5.2Compare Source
compatible, so it is disabled by default. To enable, set
legacy_table_names=Falsein your model'sMetaoptions. For more details,see table names
documentation.
order_byandpartition_byarguments.FILTER (WHERE...)clauses with window functions and aggregates.IdentityFieldclass suitable for use with Postgres 10's new identitycolumn type. It can be used anywhere
AutoFieldorBigAutoFieldwas beingused previously.
prefetch()andModelAliasto populate aback-reference related model.
View commits
v3.5.1Compare Source
New features
in Peewee.
databaseparameter to be specified withModelSelect.get()method.For discussion, see #1620.
QualifiedNameshelper to peewee module exports.temporary=meta option to support temporary tables.Databaseobject to be passed to constructor ofDataSethelper.Bug fixes
column-name (when different), Peewee would not respect the alias and use the
field name instead. See #1625 for details and discussion.
ValueErrorwhen joining and aliasing the join to a foreign-key'sobject_id_namedescriptor. Should prevent accidentally introducing O(n)queries or silently ignoring data from a joined-instance.
BigAutoFieldfor it's primary-key.with the APSW SQLite driver.
__repr__().SQL()wasno longer working. Refs #1645.
View commits
v3.5.0Compare Source
Backwards-incompatible changes
reprno longer use the convention of overriding__unicode__,and now use
__str__.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.