- 15 Mar, 2013 7 kayıt (commit)
-
-
Baptiste Mispelon yazdı
-
Simon Charette yazdı
Fixed #20053 -- Fix `index_together` documentation
-
Johan Charpentier yazdı
-
Aymeric Augustin yazdı
Fixed an erroneous import in example code of docs (class-based-views/intro).
-
Aymeric Augustin yazdı
-
Marc Tamlyn yazdı
-
Anssi Kääriäinen yazdı
The original problem was that when filtering two levels up in inheritance chain, Django optimized the join generation so that the middle model was skipped. But then Django generated joins from top to middle to bottom for SELECT clause, and thus there was one extra join (top->middle->bottom + top -> bottom). This case is fixed in master as the filtering optimization is gone. This has the side effect that in some cases there is still extra join if the SELECT clause doesn't contain anything from middle or bottom.
-
- 14 Mar, 2013 6 kayıt (commit)
-
-
Aymeric Augustin yazdı
-
Claude Paroz yazdı
When the 'invalid' error message is set at field level, it masks the error message raised by the validator, if any.
-
Claude Paroz yazdı
-
Aymeric Augustin yazdı
-
Claude Paroz yazdı
Thanks Florian Apolloner for the report and the review. Also fixes #19643.
-
Anssi Kääriäinen yazdı
Model.save() will use UPDATE - if not updated - INSERT instead of SELECT - if found UPDATE else INSERT. This should save a query when updating, but will cost a little when inserting model with PK set. Also fixed #17341 -- made sure .save() commits transactions only after the whole model has been saved. This wasn't the case in model inheritance situations. The save_base implementation was refactored into multiple methods. A typical chain for inherited save is: save_base() _save_parents(self) for each parent: _save_parents(parent) _save_table(parent) _save_table(self)
-
- 13 Mar, 2013 13 kayıt (commit)
-
-
Florian Apolloner yazdı
-
Florian Apolloner yazdı
-
Claude Paroz yazdı
Thanks Ram Rachum for the report.
-
Jacob Kaplan-Moss yazdı
Fix #20022: Correctly handle prefixes with url-unsafe characters in reverse()
-
Jacob Kaplan-Moss yazdı
Fix #20022: Correctly handle prefixes with url-unsafe characters in reverse()
-
Baptiste Mispelon yazdı
-
Pablo Sanfilippo yazdı
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
Thanks Anssi for haggling until I implemented this. This change alleviates the need for atomic_if_autocommit. When autocommit is disabled for a database, atomic will simply create and release savepoints, and not commit anything. This honors the contract of not doing any transaction management. This change also makes the hack to allow using atomic within the legacy transaction management redundant. None of the above will work with SQLite, because of a flaw in the design of the sqlite3 library. This is a known limitation that cannot be lifted without unacceptable side effects eg. triggering arbitrary commits.
-
Anssi Kääriäinen yazdı
-
Claude Paroz yazdı
Thanks chikiro.spam at gmail.com for the report.
-
Anssi Kääriäinen yazdı
The sql/query.py add_q method did a lot of where/having tree hacking to get complex queries to work correctly. The logic was refactored so that it should be simpler to understand. The new logic should also produce leaner WHERE conditions. The changes cascade somewhat, as some other parts of Django (like add_filter() and WhereNode) expect boolean trees in certain format or they fail to work. So to fix the add_q() one must fix utils/tree.py, some things in add_filter(), WhereNode and so on. This commit also fixed add_filter to see negate clauses up the path. A query like .exclude(Q(reversefk__in=a_list)) didn't work similarly to .filter(~Q(reversefk__in=a_list)). The reason for this is that only the immediate parent negate clauses were seen by add_filter, and thus a tree like AND: (NOT AND: (AND: condition)) will not be handled correctly, as there is one intermediary AND node in the tree. The example tree is generated by .exclude(~Q(reversefk__in=a_list)). Still, aggregation lost connectors in OR cases, and F() objects and aggregates in same filter clause caused GROUP BY problems on some databases. Fixed #17600, fixed #13198, fixed #17025, fixed #17000, fixed #11293.
-
- 12 Mar, 2013 6 kayıt (commit)
-
-
Anssi Kääriäinen yazdı
Before there was need to have both .relabel_aliases() and .clone() for many structs. Now there is only relabeled_clone() for those structs where alias is the only mutable attribute.
-
Aymeric Augustin yazdı
-
Tim Graham yazdı
Thanks itsallvoodoo for the patch.
-
Aymeric Augustin yazdı
Thanks Anssi for the report.
-
Aymeric Augustin yazdı
One of these functions didn't exist anymore.
-
Ramiro Morales yazdı
-
- 11 Mar, 2013 8 kayıt (commit)
-
-
Aymeric Augustin yazdı
Regression in d0561242.
-
Aymeric Augustin yazdı
-
Aymeric Augustin yazdı
Thanks Florian for tracing the error.
-
Simon Charette yazdı
Also removed some unused imports.
-
Aymeric Augustin yazdı
The atomic block provides a clean rollback to a savepoint on failed writes. The ticket reported a race condition which I don't know how to test.
-
Jacob Kaplan-Moss yazdı
-
Jacob Kaplan-Moss yazdı
-
Jacob Kaplan-Moss yazdı
-