Baptiste Mispelon
331d79a77d
Fixed #21469 -- Allow set objects in Meta.unique_together.
...
Thanks to Tim for the review.
2013-11-20 17:26:26 +01:00
Alex Gaynor
10a09b8e60
Fixed the use of the -ise suffix, where -ize is prefered
2013-11-15 05:23:14 -08:00
Loic Bistuer
32e75803be
Fixed typo and slightly improved error message when db is missing time zone definitions.
...
Refs #21432 .
2013-11-15 10:55:29 +07:00
Loic Bistuer
17ed99f3a3
Fixed #21432 -- DateTimeQuery now copies tzinfo when cloning.
...
Thanks Enrique Martínez for the report and @bmispelon for the tests.
2013-11-14 21:36:55 +01:00
Loic Bistuer
cb83448891
Fixed #21410 -- prefetch_related() for ForeignKeys with related_name='+'
...
Regression introduced by commit 9777442
.
Thanks to trac username troygrosfield for the report and test case.
2013-11-13 07:35:34 +02:00
Alex Gaynor
f4a6c9aa13
flake8 fix
2013-11-09 06:38:47 -08:00
Claude Paroz
7e714827ea
Don't initialize PostGIS-specific stuff for non-db connections
...
Refs #16969 .
2013-11-09 11:28:16 +01:00
Claude Paroz
e953c78eeb
Fixed #16969 -- Don't connect to named database when possible
...
Thanks Andreas Pelme for the report and initial patch, and
Aymeric Augustin, Shai Berger and Tim Graham for the reviews.
2013-11-09 09:42:17 +01:00
Loic Bistuer
f51c1f5900
Fixed #17001 -- Custom querysets for prefetch_related.
...
This patch introduces the Prefetch object which allows customizing prefetch
operations.
This enables things like filtering prefetched relations, calling select_related
from a prefetched relation, or prefetching the same relation multiple times
with different querysets.
When a Prefetch instance specifies a to_attr argument, the result is stored
in a list rather than a QuerySet. This has the fortunate consequence of being
significantly faster. The preformance improvement is due to the fact that we
save the costly creation of a QuerySet instance.
Thanks @akaariai for the original patch and @bmispelon and @timgraham
for the reviews.
2013-11-07 14:49:49 +02:00
Anssi Kääriäinen
b1b04df065
Fixed #20600 -- ordered distinct(*fields) in subqueries
2013-11-07 14:29:50 +02:00
Anssi Kääriäinen
ccbba98131
Removed non-necessary code in Compiler._setup_joins()
2013-11-07 12:57:02 +02:00
Anssi Kääriäinen
ba6c9fae45
Removed Query.setup_joins() and join() argument outer_if_first.
...
Instead always create new joins as OUTER.
2013-11-07 12:57:02 +02:00
Anssi Kääriäinen
6fe2b001db
Fixed #21376 -- New implementation for query join promotion logic
...
This commit introduced a new class JoinPromoter that can be used to
abstract away join promotion problems for complex filter conditions.
Query._add_q() and Query.combine() now use the new class.
Also, added a lot of comments about why join promotion is done the way
it is.
Thanks to Tim Graham for original report and testing the changes, and
for Loic Bistuer for review.
2013-11-07 12:53:26 +02:00
Alex Gaynor
e5b7045422
flake8 fixes
2013-11-06 20:00:48 -08:00
Andrew Godwin
106b019dc9
Massive migration optimiser improvements + RenameModel opn
2013-11-06 13:47:58 +00:00
Alex Gaynor
c347f78cc1
Fixed all E226 violations
2013-11-03 10:08:55 -08:00
Alex Gaynor
91078f5669
Merge pull request #1861 from milmazz/E251
...
Fixed flake8 E251 violations
2013-11-03 09:42:31 -08:00
Florian Apolloner
f40f90d63b
Fixed regressions from 36ded01527
.
...
Refs #21302
2013-11-03 12:45:15 +01:00
Milton Mazzarri
cbc7cbbc5b
Fixed flake8 E251 violations
2013-11-03 03:22:11 -06:00
coagulant
3bc0d46a84
Fixed all E261 warnings
2013-11-02 18:20:39 -04:00
Anssi Kääriäinen
bec0b2a8c6
Fixed #14511 -- bug in .exclude() query
2013-11-02 22:35:45 +02:00
Alex Gaynor
7548aa8ffd
More attacking E302 violators
2013-11-02 13:12:09 -07:00
Tim Graham
36ded01527
Fixed #21302 -- Fixed unused imports and import *.
2013-11-02 15:24:56 -04:00
Anssi Kääriäinen
b44d42be6d
Fixed #21366 -- regression in join promotion logic
...
The regression was caused by ecaba36028
and affected OR connected filters.
2013-11-02 20:44:19 +02:00
Andrew Godwin
e9cb333bc3
Auto-apply initial migrations if their tables exist already.
2013-10-30 15:17:49 +00:00
Baptiste Mispelon
497930b7f6
Use `callable` instead of `six.callable`.
...
The `callable` builtin was added back in python 3.2
which is the minimal python3 version supported by django
at this point.
2013-10-29 21:53:51 +01:00
Andrew Godwin
5ab8b5d72c
Fix migration planner to fully understand squashed migrations. And test.
2013-10-23 22:56:54 +01:00
Alasdair Nicol
c3aa2948c6
Fixed #21298 -- Fixed E301 pep8 warnings
2013-10-23 13:45:03 +01:00
Florian Hahn
5240b83462
Fixed #17027 -- Added support for the power operator in F expressions.
...
Thanks dan at dlo.me for the initial patch.
- Added __pow__ and __rpow__ to ExpressionNode
- Added oracle and mysql specific power expressions
- Added used-defined power function for sqlite
2013-10-22 10:29:57 -04:00
Tim Graham
8e2029f8dd
Removed import * in tests.
...
Thanks to flake8 path/to/file.py | awk -F ' ' '{ print $5 }' | sort | uniq
2013-10-22 08:32:01 -04:00
Anssi Kääriäinen
86c248aa64
Fixed #21249 -- variable name typo in compiler.get_grouping()
...
The typo could have consequences in exceptional cases, but I didn't
figure out a way to actually produce such a case, so not tests.
Report & patch by Michael Manfre.
2013-10-21 22:08:53 +03:00
Loic Bistuer
e565e1332d
Fixed #21275 -- Fixed a serializer error when generating migrations for contrib.auth.
...
The migration serializer now looks for a deconstruct method on any object.
2013-10-21 14:54:52 -04:00
Alasdair Nicol
b289fcf1bf
Fixed #21288 -- Fixed E126 pep8 warnings
2013-10-21 08:31:30 -04:00
Loic Bistuer
8d6953d55c
Added support for serializing class methods. - Refs #21290 .
...
The new handling allows us to do away with the whitelisting that was
required to support date and datetime objects.
2013-10-19 12:10:18 -04:00
Loic Bistuer
584110417f
Fixed #21283 -- Added support for migrations if models is a package.
...
Thanks Markus Holtermann for the report.
2013-10-19 09:48:57 -04:00
Alasdair Nicol
a800036981
Fixed #21287 -- Fixed E123 pep8 warnings
2013-10-18 10:07:39 +01:00
Alasdair Nicol
dfb4cb9970
Fixed #21285 -- Fixed E121,E122 pep8 warnings
2013-10-17 20:20:11 -04:00
Anssi Kääriäinen
3a66035107
Removed F.__deepcopy__()
...
The method didn't change standard __deepcopy__ in any way.
2013-10-17 17:45:56 +03:00
Alex Gaynor
98788d3c3a
Remove some unnecesary uses of bool
2013-10-17 05:27:34 -07:00
Claude Paroz
650b6fd90e
Add get_migratable_models util method to ConnectionRouter
2013-10-16 18:02:49 +02:00
Andrew Godwin
763ac8b642
First pass on squashmigrations command; files are right, execution not.
2013-10-16 12:00:07 +01:00
Andrew Godwin
42f8666f6a
Improve migration optimizer to be able to optimize through other ops
2013-10-16 11:09:33 +01:00
Claude Paroz
2af58a2cef
Made sqlite introspection also show views like other backends
...
Refs #6730 .
2013-10-15 17:20:03 +02:00
Marc Tamlyn
349c12d3f5
Fixed #16855 -- select_related() chains as expected.
...
select_related('foo').select_related('bar') is now equivalent to
select_related('foo', 'bar').
Also reworded docs to recommend select_related(*fields) over select_related()
2013-10-15 15:59:36 +01:00
Claude Paroz
dd1ab8982b
Moved misplaced import in backends init
2013-10-15 16:36:31 +02:00
Florian Apolloner
ed8919cbcb
Handle Apps with South migrations as unmigrated apps.
2013-10-15 11:57:30 +02:00
Claude Paroz
1e8eadc94e
Fixed #15888 -- Made tablename argument of createcachetable optional
...
Thanks Aymeric Augustin for the report and the documentation and
Tim Graham for the review.
2013-10-14 13:24:40 +02:00
Aymeric Augustin
589dc49e12
Fixed #21198 -- Prevented invalid use of @python_2_unicode_compatible.
...
Thanks jpic for the report and chmodas for working on a patch.
Reverts 2ea80b94
. Refs #19362 .
2013-10-13 18:14:04 +02:00
Aymeric Augustin
570d9c2678
Fixed #19560 -- Identified field in warning for naive datetime.
...
Thanks gcc for the report and vajrasky for the patch.
2013-10-13 11:54:11 +02:00
Tim Graham
b67ab75e82
Fixed assorted flake8 errors.
2013-10-11 07:25:14 -04:00
Tim Graham
adedc31072
Fixed "redefinition of unused 'foo' from line X" pyflakes warnings.
2013-10-10 11:09:42 -04:00
Javed Khan
4dbd95ad65
Fixed #21236 -- Allowed migrations to work with unique_together tuples.
...
Thanks hjwp for the report.
2013-10-07 09:39:14 -04:00
Aymeric Augustin
91547772e0
Fixed #21235 -- Disabled savepoints for old versions of SQLite.
...
Thanks Ramiro for the report.
2013-10-07 10:47:50 +02:00
Anssi Kääriäinen
1df3c49a1a
Fixed #21174 -- transaction control in related manager methods
2013-10-05 23:07:52 +03:00
Anssi Kääriäinen
93cc6dcdac
Fixed #18414 -- qs.exists() for sliced distinct queries
2013-10-05 21:40:36 +03:00
Anssi Kääriäinen
ecaba36028
Improved Query join promotion logic
...
There were multiple cases where join promotion was a bit too aggressive.
This resulted in using outer joins where not necessary.
Refs #21150 .
2013-10-05 14:52:17 +03:00
Baptiste Mispelon
20472aa827
Fixed #21189 : Cleaned up usage of bare except clauses.
...
Thanks to berkerpeksag for the report and to claudep
for the review.
2013-10-05 11:50:03 +02:00
Simon Charette
948d209ada
Fixed #21217 -- Avoid connecting `(pre|post)_init` signals to abstract senders.
2013-10-04 16:23:06 -04:00
Simon Charette
fa2e1371cd
Fixed #21216 -- Allow `OneToOneField` reverse accessor to be hidden.
2013-10-03 13:20:05 -04:00
Andrew Godwin
a80d9ab0fe
Initial version of MigrationOptimizer and tests
2013-10-02 17:34:22 +01:00
Anssi Kääriäinen
bf13c75c0d
Fixed #21203 -- resolve_columns fields misalignment
...
In queries using .defer() together with .select_related() the values
and fields arguments didn't align properly for resolve_columns().
2013-10-01 20:29:23 +03:00
Tim Graham
0d02c54299
Fixed #21207 -- Fixed test failure on Oracle: test_cursor_contextmanager
...
refs #17671
2013-10-01 12:34:25 -04:00
Anssi Kääriäinen
d64060a736
OrderedDict creation avoidance for .values() queries
...
Avoid accessing query.extra and query.aggregates directly for .values()
queries. Refs #20950 .
2013-10-01 10:56:13 +03:00
Loic Bistuer
d847ddfe1d
Fixed #3871 -- Fixed regression introduced by 04a2a6b
.
...
Added do_not_call_in_templates=True attribute to RelatedManagers
to prevent them from being called.
Thanks jbg@ for the report.
2013-09-30 15:43:44 -04:00
Aymeric Augustin
728548e483
Fixed #21134 -- Prevented queries in broken transactions.
...
Squashed commit of the following:
commit 63ddb271a44df389b2c302e421fc17b7f0529755
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 29 22:51:00 2013 +0200
Clarified interactions between atomic and exceptions.
commit 2899ec299228217c876ba3aa4024e523a41c8504
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 22 22:45:32 2013 +0200
Fixed TransactionManagementError in tests.
Previous commit introduced an additional check to prevent running
queries in transactions that will be rolled back, which triggered a few
failures in the tests. In practice using transaction.atomic instead of
the low-level savepoint APIs was enough to fix the problems.
commit 4a639b059ea80aeb78f7f160a7d4b9f609b9c238
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Tue Sep 24 22:24:17 2013 +0200
Allowed nesting constraint_checks_disabled inside atomic.
Since MySQL handles transactions loosely, this isn't a problem.
commit 2a4ab1cb6e83391ff7e25d08479e230ca564bfef
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat Sep 21 18:43:12 2013 +0200
Prevented running queries in transactions that will be rolled back.
This avoids a counter-intuitive behavior in an edge case on databases
with non-atomic transaction semantics.
It prevents using savepoint_rollback() inside an atomic block without
calling set_rollback(False) first, which is backwards-incompatible in
tests.
Refs #21134 .
commit 8e3db393853c7ac64a445b66e57f3620a3fde7b0
Author: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sun Sep 22 22:14:17 2013 +0200
Replaced manual savepoints by atomic blocks.
This ensures the rollback flag is handled consistently in internal APIs.
2013-09-30 09:42:27 +02:00
Russell Keith-Magee
9595183d03
Fixed #13724 : Corrected routing of write queries involving managers.
...
Previously, if a database request spanned a related object manager, the
first manager encountered would cause a request to the router, and this
would bind all subsequent queries to the same database returned by the
router. Unfortunately, the first router query would be performed using
a read request to the router, resulting in bad routing information being
used if the subsequent query was actually a write.
This change defers the call to the router until the final query is acutally
made.
It includes a small *BACKWARDS INCOMPATIBILITY* on an edge case - see the
release notes for details.
Thanks to Paul Collins (@paulcollinsiii) for the excellent debugging
work and patch.
2013-09-30 13:05:43 +08:00
Erik Romijn
1a63092981
Fixed #20439 -- Started deprecation of IPAddressField
2013-09-28 10:55:32 +02:00
Andrew Godwin
59582a8119
Enforce ordering on PostgreSQL get_constraints cols (refs #21134 )
2013-09-26 14:55:19 +01:00
Michael Manfre
99c87f1410
Fixed #17671 - Cursors are now context managers.
2013-09-25 21:47:26 +03:00
Loic Bistuer
04a2a6b0f9
Fixed #3871 -- Custom managers when traversing reverse relations.
2013-09-25 21:15:59 +03:00
Anssi Kääriäinen
83554b018e
Fixed #21126 -- QuerySet value conversion failure
...
A .annotate().select_related() query resulted in misaligned rows vs
columns for compiler.resolve_columns() method.
Report & patch by Michael Manfre.
2013-09-25 20:47:57 +03:00
Andrew Godwin
6d3faba2d2
Add reverse_code optional argument to RunPython
2013-09-25 17:21:20 +01:00
Andrew Godwin
fe9f342d8c
Allow callables as the argument to RunPython
2013-09-25 16:10:43 +01:00
Andrew Godwin
8a3e543f26
Make sqlmigrate ignore the RunPython operation
2013-09-25 14:37:44 +01:00
Andrew Godwin
3b810c5656
Add RunPython migration operation and tests
2013-09-25 13:58:07 +01:00
Andrew Godwin
05656f2388
Add equality support for Project/ModelState
2013-09-25 13:47:46 +01:00
Anssi Kääriäinen
9027da65d3
Added '*' to quote_cache
...
The commit for #18333 missed quote_cache default value for *.
Refs #18333 .
2013-09-24 23:00:31 +03:00
Michael Manfre
9a041807fc
Fixed #18333 - Quoted annotated column names
2013-09-24 10:10:08 -04:00
Andrei Picus
8e737cf282
Fix small grammatical error in comment.
...
Changed 'there are no filtering' to 'there is no filtering'.
2013-09-24 14:55:05 +03:00
Claude Paroz
4c5bc1ac30
Removed double import in mysql base.py
2013-09-24 10:25:39 +02:00
Aymeric Augustin
a5b062576b
Removed a few trailing backslashes.
...
We have always been at war with trailing backslashes.
2013-09-22 14:04:10 +02:00
Anssi Kääriäinen
50633e7353
Fixed #12568 -- no error when accessing custom field's descriptor
...
The SubfieldBase's descriptor caused an AttributeError when accessed
from the class. Introspection didn't like that.
Patch by Trac alias supervacuo.
2013-09-18 10:03:52 +03:00
Markus Holtermann
5a424c2393
Fixed #21114 -- Migrations must not have a dependency to themselves.
2013-09-17 11:47:19 -04:00
Anssi Kääriäinen
9400142132
Fixed #21109 -- made db cursor error wrapping faster
2013-09-17 12:18:55 +03:00
Tim Graham
f40c82213f
Added backwards compatability shims for util modules.
...
refs #17627
2013-09-16 12:53:42 -04:00
Tim Graham
18ffdb1772
Fixed #17627 -- Renamed util.py files to utils.py
...
Thanks PaulM for the suggestion and Luke Granger-Brown and
Wiktor Kołodziej for the initial patch.
2013-09-16 12:52:05 -04:00
Alex Gaynor
bac86ad1a3
REmoved some unused imports
2013-09-14 12:34:57 -07:00
Alex Gaynor
5c645ec81a
Merge branch 'master' of https://github.com/django/django
2013-09-14 12:32:45 -07:00
Alex Gaynor
496b4d0331
Removed an import * that was masking importing stuff from the wrong location
2013-09-14 12:32:25 -07:00
Anssi Kääriäinen
ff723d894d
Fixed #20950 -- Instantiate OrderedDict() only when needed
...
The use of OrderedDict (even an empty one) was surprisingly slow. By
initializing OrderedDict only when needed it is possible to save
non-trivial amount of computing time (Model.save() is around 30% faster
for example).
This commit targetted sql.Query only, there are likely other places
which could use similar optimizations.
2013-09-14 20:52:17 +03:00
Michael Manfre
c89d80e2cc
Fixed #21097 - Added DatabaseFeature.can_introspect_autofield
2013-09-14 09:48:59 +03:00
Gregor MacGregor
b2b763448f
Fixed #20841 -- Added messages to NotImplementedErrors
...
Thanks joseph at vertstudios.com for the suggestion.
2013-09-10 11:09:59 -04:00
Loic Bistuer
d59f1993f1
Made MigrationWriter look for a "deconstruct" attribute on functions.
...
Refs #20978 .
2013-09-10 10:12:23 -04:00
Loic Bistuer
5df8f749e6
Fixed #20978 -- Made deletion.SET_NULL more friendly for MigrationWriter.serialize.
2013-09-10 10:12:23 -04:00
Садовский Николай
1185370c2c
Fixed #20707 -- Added explicit quota assignment to Oracle test user
...
To enable testing on Oracle 12c
2013-09-09 16:25:13 +03:00
Alex Gaynor
0ee8aa5c39
Removed an unused local var
2013-09-08 07:42:16 -07:00
Aymeric Augustin
31e16c1343
Negligible style fix.
2013-09-07 13:48:37 -05:00
Andrew Godwin
bacbbb481d
RunSQL migration operation and alpha SeparateDatabaseAndState op'n.
2013-09-07 11:03:38 -05:00
Alex Gaynor
2530735d2d
Fixed a number of flake8 errors -- particularly around unused imports and local variables
2013-09-06 21:56:40 -07:00
Loic Bistuer
37d46b20fc
Fixed regression introduced by efd1e60
, 'map' returns an iterator on PY3.
2013-09-07 08:00:11 +07:00
Eric Boersma
ded40142a9
Fixed #20007 -- Configured psycopg2 to return UnicodeArrays
...
Thanks hogbait for the report.
2013-09-06 20:43:58 -04:00
Loic Bistuer
adc0ab3386
Fixed #21037 -- Made MigrationWriter raise a ValueError when serializing lambda functions.
2013-09-06 20:13:01 -04:00
Aymeric Augustin
b4cd8169de
Fixed #11811 -- Data-loss bug in queryset.update.
...
It's now forbidden to call queryset.update(field=instance) when instance
hasn't been saved to the database ie. instance.pk is None.
2013-09-06 17:15:23 -05:00
Aymeric Augustin
73f38eb4d1
Minor factorization.
2013-09-06 17:15:23 -05:00
Andrew Godwin
efd1e6096e
Adding 'sqlmigrate' command and quote_parameter to support it.
2013-09-06 15:28:12 -05:00
Andrew Godwin
05e14e8eaf
Migration autodetector now corerctly deals with proxy models
2013-09-06 12:39:46 -05:00
Andrew Godwin
cdeff3acc2
Project/ModelState now correctly serialize multi-model inheritance
2013-09-06 12:16:03 -05:00
Chris Wilson
eade315da1
Fixed #10164 -- Made AutoField increase monotonically on SQLite
...
Thanks malte for the report.
2013-09-06 12:31:17 -04:00
Andrew Godwin
630eb0564a
Fix SchemaEditor.__exit__ to handle exceptions correctly
2013-09-06 11:09:16 -05:00
Andrew Godwin
9f6e6009a4
Add --list option to migrate command
2013-09-06 11:06:19 -05:00
Andrew Godwin
32838a5beb
Make db.migrations ignore South-style migrations.
2013-09-06 10:35:53 -05:00
Loic Bistuer
e1266e50b2
Fixed #21015 -- Fixed MigrationLoader when importlib.import_module returns a file module or an empty directory.
2013-09-06 08:30:19 -04:00
Loic Bistuer
82bbb9fe81
Fixed #21014 -- Fixed gobbled ImportError in MigrationLoader.
2013-09-06 08:30:18 -04:00
Eric Boersma
4d13cc56de
Fixed #21035 -- Changed docs to treat the acronym SQL phonetically.
...
The documentation and comments now all use 'an' to
refer to the word SQL and not 'a'.
2013-09-05 20:14:58 -04:00
Aymeric Augustin
4170b9f402
Tested exc_type instead of exc_value in __exit__.
...
exc_value might be None even though there's an exception, at least on
Python 2.6. Thanks Thomas Chaumeny for the report.
Fixed #21034 .
Forward-port of a8624b2
from 1.6.x.
2013-09-04 16:19:04 -05:00
Loic Bistuer
34d52fd32e
Fixed #21010 -- Changed ModelState to only copy _meta.local_fields.
2013-09-04 14:05:59 -04:00
Aymeric Augustin
868b4c921c
Used six.moves.zip_longest, new in six 1.4.0.
2013-09-02 12:11:16 +02:00
Aymeric Augustin
365c3e8b73
Replaced "not PY3" by "PY2", new in six 1.4.0.
2013-09-02 12:11:02 +02:00
Loic Bistuer
ff9e116198
Fixed #21008 -- Made MigrationWriter handle Promise objects.
2013-08-31 20:26:44 -04:00
Carl Meyer
7211741fc5
Fixed #20999 - Allow overriding formfield class with choices, without subclass restrictions.
...
Refs #18162 . Thanks claudep and mjtamlyn for review.
2013-08-30 17:43:10 -06:00
Simon Charette
11cd7388f7
Fixed #20989 -- Removed useless explicit list comprehensions.
2013-08-30 10:57:51 -04:00
Anssi Kääriäinen
e973ee6a98
Fixed #20988 -- Added model meta option select_on_save
...
The option can be used to force pre 1.6 style SELECT on save behaviour.
This is needed in case the database returns zero updated rows even if
there is a matching row in the DB. One such case is PostgreSQL update
trigger that returns NULL.
Reviewed by Tim Graham.
Refs #16649
2013-08-30 09:41:07 +03:00
Anssi Kääriäinen
13be3bfef1
Removed stale add_q() comment
2013-08-30 09:45:32 +03:00
Tim Graham
c7d0ff0cad
Fixed #20989 -- Removed explicit list comprehension inside dict() and tuple()
...
Thanks jeroen.pulles at redslider.net for the suggestion and
helper script.
2013-08-29 12:11:03 -04:00
Tim Graham
f19a3669b8
Fixed #14786 -- Fixed get_db_prep_lookup calling get_prep_value twice if prepared is False.
...
Thanks homm for the report and Aramgutang and lrekucki for work on
the patch.
2013-08-29 11:13:34 -04:00
Claude Paroz
169637649b
Fixed #20984 -- Stopped decoding bytes in sqlite3 adapter on Python 3
...
Thanks lvella at gmail.com for the report.
2013-08-29 08:39:06 +02:00
Andrew Godwin
35230adf63
Python 3 compat fix for callable()
2013-08-23 17:59:35 +01:00
Andrew Godwin
2787de652a
Fix location of tablespace clauses in schema backend column SQL
2013-08-23 14:38:55 +01:00
Andrew Godwin
5569b0b92f
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/backends/oracle/base.py
django/db/backends/postgresql_psycopg2/base.py
django/db/models/signals.py
tests/queries/tests.py
2013-08-23 12:36:53 +01:00
Andrew Godwin
9cc6cfc405
Fix Oracle's default handling and schema-prepared-statement issue
2013-08-23 12:07:55 +01:00
Anssi Kääriäinen
6af05e7a0f
Fixed model.__eq__ and __hash__ for no pk value cases
...
The __eq__ method now considers two instances without primary key value
equal only when they have same id(). The __hash__ method raises
TypeError for no primary key case.
Fixed #18864 , fixed #18250
Thanks to Tim Graham for docs review.
2013-08-22 17:24:07 +03:00
Tim Graham
768bbf3efe
Revert "Fixed #20956 -- Removed useless check in django.db.utils"
...
This reverts commit ce0e86cf76
.
The check is necessary if 'ENGINE' is an empty string.
Thanks apollo13 for pointing this out.
2013-08-22 09:47:17 -04:00
Dima Kurguzov
ce0e86cf76
Fixed #20956 -- Removed useless check in django.db.utils
2013-08-22 08:53:14 -04:00
Anssi Kääriäinen
8d65b6082c
Fixed #20955 -- select_related regression
...
In cases where the same connection (from model A to model B along the
same field) was needed multiple times in a select_related query, the
join setup code mistakenly reused an existing join.
2013-08-22 10:51:07 +03:00
Tim Graham
3f416f6379
Fixed a regression with get_or_create and virtual fields.
...
refs #20429
Thanks Simon Charette for the report and review.
2013-08-21 22:32:04 +01:00
Anssi Kääriäinen
244e2b71f5
Fixed #20946 -- model inheritance + m2m failure
...
Cleaned up the internal implementation of m2m fields by removing
related.py _get_fk_val(). The _get_fk_val() was doing the wrong thing
if asked for the foreign key value on foreign key to parent model's
primary key when child model had different primary key field.
2013-08-21 22:32:04 +01:00
Simon Charette
1db5fce1ee
Oracle also treats NULLs as largests values when ordering.
2013-08-21 22:32:03 +01:00
Anssi Kääriäinen
f5552571dc
Fixed #20820 -- Model inheritance + m2m fixture loading regression
...
Tests by Tim Graham, report from jeroen.pulles@redslider.net .
2013-08-21 22:31:50 +01:00
Anssi Kääriäinen
ced3e6b17d
Fixed test failure caused by different NULL ordering between backends
2013-08-21 22:31:50 +01:00
Anssi Kääriäinen
cea7204504
Fixed #14056 -- Made sure LEFT JOIN aren't trimmed in ORDER BY
...
If LEFT JOINs are required for correct results, then trimming the join
can lead to incorrect results. Consider case:
TBL A: ID | TBL B: ID A_ID
1 1 1
2
Now A.order_by('b__a') did use a join to B, and B's a_id column. This
was seen to contain the same value as A's id, and so the join was
trimmed. But this wasn't correct as the join is LEFT JOIN, and for row
A.id = 2 the B.a_id column is NULL.
2013-08-21 22:30:46 +01:00
Simon Charette
63378163f9
Fixed #20943 -- Weakly reference senders when caching their associated receivers
2013-08-21 22:30:45 +01:00
Andrew Godwin
2e7f45a372
Change autodetector changes API to be just one method
2013-08-21 22:25:15 +01:00
Tim Graham
f7290581fe
Fixed a regression with get_or_create and virtual fields.
...
refs #20429
Thanks Simon Charette for the report and review.
2013-08-21 08:30:21 -04:00
Anssi Kääriäinen
b065aeb17f
Fixed #20946 -- model inheritance + m2m failure
...
Cleaned up the internal implementation of m2m fields by removing
related.py _get_fk_val(). The _get_fk_val() was doing the wrong thing
if asked for the foreign key value on foreign key to parent model's
primary key when child model had different primary key field.
2013-08-21 08:32:19 +03:00
Simon Charette
859e678b3d
Oracle also treats NULLs as largests values when ordering.
2013-08-20 12:28:59 -04:00
Anssi Kääriäinen
1ed77e7782
Fixed #20820 -- Model inheritance + m2m fixture loading regression
...
Tests by Tim Graham, report from jeroen.pulles@redslider.net .
2013-08-20 16:54:05 +03:00
Anssi Kääriäinen
8dc76c4b91
Fixed test failure caused by different NULL ordering between backends
2013-08-20 11:33:44 +03:00
Anssi Kääriäinen
905409855c
Fixed #14056 -- Made sure LEFT JOIN aren't trimmed in ORDER BY
...
If LEFT JOINs are required for correct results, then trimming the join
can lead to incorrect results. Consider case:
TBL A: ID | TBL B: ID A_ID
1 1 1
2
Now A.order_by('b__a') did use a join to B, and B's a_id column. This
was seen to contain the same value as A's id, and so the join was
trimmed. But this wasn't correct as the join is LEFT JOIN, and for row
A.id = 2 the B.a_id column is NULL.
2013-08-20 10:55:00 +03:00
Simon Charette
e55ca60903
Fixed #20943 -- Weakly reference senders when caching their associated receivers
2013-08-20 01:53:58 -04:00
Andrew Godwin
b6a957f0ba
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
docs/ref/django-admin.txt
2013-08-19 18:30:48 +01:00
Anssi Kääriäinen
7bc57a6d71
Fixed #11881 -- removed junk from aggregation subqueries
...
There were clauses that weren't needed in the subqueries. These were
ORDER BY, SELECT FOR UPDATE and related selections.
2013-08-19 16:15:09 +03:00
Anssi Kääriäinen
7737305a4f
Fixed #12886 -- aggregation over sliced queryset
2013-08-19 16:00:17 +03:00
Andrew Godwin
52edc16086
Add more stringent M2M tests and fix the bug they exposed
2013-08-19 13:50:26 +01:00
Andrew Godwin
5b522cd85a
Minor oracle fixes
2013-08-19 13:12:48 +01:00
Anssi Kääriäinen
4668c142dc
Made Model.__eq__ consider proxy models equivalent
...
Fixed #11892 , fixed #16458 , fixed #14492 .
2013-08-19 09:51:28 +03:00
Harm Geerts
240886183b
Fixed #20829 -- Skip postgis metadata tables with introspection
2013-08-16 21:14:29 +02:00
Andrew Godwin
157604a87f
Oracle schema backend, passes most tests and is pretty complete.
2013-08-13 20:54:57 +01:00
Loic Bistuer
163a34ce4b
Fixed #20883 -- Made model inheritance find parent links in abstract parents
2013-08-13 15:14:11 +03:00
Anssi Kääriäinen
dcdc579d16
Fixed #20874 -- bump_prefix() in nested subqueries
...
Also made some cleanup to build_filter() code by introducing submethods
solve_lookup_type() and prepare_lookup_value().
2013-08-13 14:11:52 +03:00
Andrew Godwin
44f907dd98
Start of getting Oracle to do schema stuff
2013-08-12 20:05:20 +01:00
Andrew Godwin
b61b634628
Fix weird planning issues when already fully migrated.
2013-08-11 15:28:51 +01:00
Andrew Godwin
b4c493ecd3
Remove keep_default from add_field
2013-08-11 14:28:55 +01:00
Andrew Godwin
d985fd7a18
Fix tablespace command
2013-08-11 14:27:42 +01:00
Andrew Godwin
ae19315b4d
Support index_together during model creation
2013-08-11 14:23:31 +01:00
Andrew Godwin
21be9fef7b
Stop being overcautious about Field.rel
2013-08-11 00:01:30 +01:00
Andrew Godwin
7702819441
Update get_constraints with better comments
2013-08-10 23:58:12 +01:00
Andrew Godwin
7970d97a70
Docs tweaks (thanks timgraham)
2013-08-10 20:00:12 +01:00
Andrew Godwin
f093646bfc
Remove pointless comment.
2013-08-09 17:47:13 +01:00
Andrew Godwin
9b4a789eef
Add [y/n] to autodetector questions and allow for default value
2013-08-09 17:45:19 +01:00
Andrew Godwin
ae96ad872f
Remove pointless fetch_results param
2013-08-09 17:42:56 +01:00
Andrew Godwin
fb16ee5a31
Remove commented-out print
2013-08-09 17:41:39 +01:00
Andrew Godwin
9f73629420
utils.importlib is deprecated
2013-08-09 17:36:16 +01:00
Andrew Godwin
588b523233
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/db/models/options.py
2013-08-09 14:37:37 +01:00
Tim Graham
ddae74b64c
Fixed #9057 -- Added default_permissions model meta option.
...
Thanks hvendelbo for the suggestion and koenb for the draft patch.
2013-08-09 09:19:52 -04:00
Andrew Godwin
de64c4d6e9
Merge remote-tracking branch 'core/master' into schema-alteration
...
Conflicts:
django/core/management/commands/flush.py
django/core/management/commands/syncdb.py
django/db/models/loading.py
docs/internals/deprecation.txt
docs/ref/django-admin.txt
docs/releases/1.7.txt
2013-08-09 14:17:30 +01:00
Anssi Kääriäinen
c7739e30b2
Fixed #17424 -- annotate() + exclude() bug
...
The bug was already fixed by 01b9c3d519
,
so only tests added.
At the same time promote_joins()'s uncoditional flag is gone, it isn't
needed for anything any more.
2013-08-07 12:53:33 +03:00
Alex Cucu
1c64a0f29e
Fixed #19918 -- Modified select_for_update to run on the write database.
2013-08-06 09:50:59 -04:00
Tim Graham
04489c7dbf
Fixed #17667 -- Prevented app loading from skipping nonexistent apps after the first try
...
Thanks ea2100@ for the report and akaariai for the patch.
2013-08-05 13:34:35 -04:00
Curtis Maloney
07876cf02b
Deprecated SortedDict (replaced with collections.OrderedDict)
...
Thanks Loic Bistuer for the review.
2013-08-04 07:09:39 -04:00
Tim Graham
aa830009de
Fixed #17519 -- Fixed missing SQL constraints to proxy models.
...
Thanks thibaultj for the report, jenh for the patch,
and charettes for the tests.
2013-08-02 07:41:56 -04:00
Tim Graham
5df84b268d
Removed unused model option "admin"
2013-08-01 10:27:30 -04:00
Alex Couper
1123f45511
Fixed #20649 -- Allowed blank field display to be defined in the initial list of choices.
2013-07-31 14:12:03 -04:00
Loic Bistuer
acd1d439fd
Fixed #20826 -- Moved Manager.raw() and Manager._insert() to the QuerySet class.
2013-07-31 09:54:00 -04:00
Florian Hahn
e888a9b30d
Fixed #15624 -- Made sure aggregations are present in SELECT
2013-07-31 16:27:58 +03:00
Anssi Kääriäinen
c21e86ab9e
Added field.attname to Options.name_map
...
The change also removed allow_explicit_fk from sql/query.py.
2013-07-31 16:02:36 +03:00
Tai Lee
31e6d58d46
Fixed #20348 -- Consistently handle Promise objects in model fields.
...
All Promise objects were passed to force_text() deep in ORM query code.
Not only does this make it difficult or impossible for developers to
prevent or alter this behaviour, but it is also wrong for non-text
fields.
This commit changes `Field.get_prep_value()` from a no-op to one that
resolved Promise objects. All subclasses now call super() method first
to ensure that they have a real value to work with.
2013-07-31 15:54:17 +03:00
Andrew Godwin
fddc5957c5
Implement allow_migrate for migration operations
2013-07-30 12:34:31 +01:00
Andrew Godwin
12e9804d16
Rename allow_syncdb to allow_migrate
2013-07-30 12:08:59 +01:00
Andrew Godwin
68e0a169c4
Rename pre_ and post_syncdb to *_migrate, with aliases from old names
2013-07-30 11:52:52 +01:00
Shai Berger
6ed579e7eb
Fixed #20785 -- Corrected exception caught for Oracle LIKE operator detection
...
The code that tests to see which LIKE expressions to use now runs
using non-error-wrapped cursor, so cx_Oracle exceptions need to be caught
rather than Django DatabaseErrors.
Thanks Trac user ludo for report and initial patch.
2013-07-30 03:21:06 +03:00
Claude Paroz
5c1143910e
Removed most of absolute_import imports
...
Should be unneeded with Python 2.7 and up.
Added some unicode_literals along the way.
2013-07-29 20:28:13 +02:00
Claude Paroz
fdd7a355bf
Deprecated django.utils.importlib
...
This was a shim for pre-Python 2.7 support.
2013-07-29 17:10:22 +02:00
Julien Phalip
47c755327b
Fixed a number of minor misspellings.
2013-07-27 18:46:03 -07:00
Andrew Godwin
c8cbdabfab
Fix Python 3 support
2013-07-26 17:08:12 +01:00
Andrew Godwin
52643a69e3
Add --fake option to migrate
2013-07-26 16:47:00 +01:00
Andrew Godwin
3f7113f1d9
Fix timezone warnings if USE_TZ=True
2013-07-26 16:46:48 +01:00
Andrew Godwin
9c6d57ef5a
Prettier imports
2013-07-26 16:40:27 +01:00
Anssi Kääriäinen
7cca8d56d2
Fixed related model lookup regression
...
It has been possible to use models of wrong type in related field
lookups. For example pigs__in=[a_duck] has worked. Changes to
ForeignObject broke that.
It might be a good idea to restrict the model types usable in lookups.
This should be done intentionally, not accidentally and without any
consideration for deprecation path.
2013-07-26 13:13:27 +03:00
Loic Bistuer
31fadc1202
Fixed #20625 -- Chainable Manager/QuerySet methods.
...
Additionally this patch solves the orthogonal problem that specialized
`QuerySet` like `ValuesQuerySet` didn't inherit from the current `QuerySet`
type. This wasn't an issue until now because we didn't officially support
custom `QuerySet` but it became necessary with the introduction of this new
feature.
Thanks aaugustin, akaariai, carljm, charettes, mjtamlyn, shaib and timgraham
for the reviews.
2013-07-26 12:41:27 +03:00
Andrew Godwin
a758c9c186
Add test for creating M2Ms
2013-07-25 16:36:58 +01:00