Aymeric Augustin
4a56a93cc4
Moved the new app cache inside core.
2013-12-17 10:17:46 +01:00
Aymeric Augustin
b3d5efe23f
Restored deprecated aliases for functions in django.db.models.
...
Thanks Marc Tamlyn for the suggestion.
2013-12-17 10:17:46 +01:00
Aymeric Augustin
5ba743e262
Made it possible to create apps without a models module.
...
This commit reverts f44c4a5d0f
and 39bbd165
.
django.test.simple will be updated in a separate commit as it requires
invasive changes.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
69039becde
Deprecated get_app().
2013-12-17 10:17:45 +01:00
Aymeric Augustin
2732edc5f2
Deprecated get_apps().
2013-12-17 10:17:45 +01:00
Aymeric Augustin
d44de9b933
Removed the _-prefix for populate().
...
Several parts of Django call get_apps() with a comment along this lines
of "this has the side effect of calling _populate()". I fail to see how
this is better than just calling populate()!
2013-12-17 10:17:45 +01:00
Aymeric Augustin
ebda5800ae
Simplified register_models.
...
Since it's never called with more than one model at a time the current
signature is needlessly complicated.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
259cd3cd41
Deprecated get_app_package, get_app_path and get_app_paths.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
2c9e84af4a
Removed unused attribute app_errors of the app cache.
...
get_app_errors() always returned an empty dictionary; this behavior is
preserved in django.db.models.loading until that module is deprecated.
2013-12-17 10:17:44 +01:00
Aymeric Augustin
8662654d6d
Removed module-level functions for the app cache.
...
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.
They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.
This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.
2013-12-17 10:17:44 +01:00
Aymeric Augustin
860c2c8bc5
Moved django.db.models.loading to django.apps.cache.
...
This commit doesn't contain any code changes; it's purely a refactoring.
2013-12-17 10:17:43 +01:00
Loic Bistuer
6685713869
Fixed E127 pep8 warnings.
2013-12-14 11:59:15 -05:00
Aymeric Augustin
9c5f59f489
Brought comments in sync with the code in BaseAppCache.
2013-12-11 23:16:06 +01:00
Simon Charette
75924cfa6d
Fixed #21563 -- Single related object descriptors should work with `hasattr`.
...
Thanks to Aymeric Augustin for the review and Trac alias monkut for the report.
2013-12-11 12:49:28 -05:00
Andrew Godwin
5db028affb
Fix altering of SERIAL columns and InnoDB being picky about FK changes
2013-12-11 14:19:05 +00:00
Andrew Godwin
cee4fe7307
Better default name for migrations we can't give nice names to
2013-12-11 13:23:07 +00:00
Andrew Godwin
248fdb1110
Change FKs when what they point to changes
2013-12-11 13:16:29 +00:00
Andrew Godwin
f3582a0594
Fix sqlmigrate's output for parameters
2013-12-11 13:12:23 +00:00
Loic Bistuer
a2814846ca
Fixed E124 pep8 warnings.
2013-12-10 15:12:48 -05:00
Alex Gaynor
ffc0e0ca37
Corrected a flake8 issue -- this line is imported for the purpose of re-exposing the name
2013-12-06 13:22:53 -06:00
Roger Hu
bbc73e6a12
Fixed #21566 -- Fixed AttributeError when using bulk_create with ForeignObject.
2013-12-06 20:20:16 +01:00
pegler
38e24d680d
Fixed #21554 -- Incorrect SQL generated when using multiple inheritance.
2013-12-06 14:12:38 -05:00
Baptiste Mispelon
621c25c419
Added missing deconstruct() methods.
2013-12-06 15:23:34 +01:00
Baptiste Mispelon
72479a2957
Made the migration detector use meta.local_fields instead of meta.fields.
...
Refs #21010 .
Thanks to Loïc for the patch.
2013-12-06 15:23:21 +01:00
Baptiste Mispelon
19e4374971
Fixed ModelState breaking when unique_together has unhashable elements.
2013-12-06 15:22:52 +01:00
Baptiste Mispelon
54d9e3ccf6
Fixed error in ManyToManyField.deconstruct().
2013-12-06 15:22:52 +01:00
Baptiste Mispelon
f463789f62
Added app_label to the error message when field reconstructing fails.
2013-12-06 15:22:47 +01:00
Andrew Godwin
a06fd092ef
Merge pull request #2037 from bmispelon/invalidbaseserror
...
Fixed TypeError when rendering ModelState with multiple bases.
2013-12-06 05:48:21 -08:00
maurycyp
4d0c72eb68
Removed unreachable `else` in `try` block.
2013-12-06 01:10:52 -05:00
Baptiste Mispelon
aba75b0d71
Fixed TypeError when rendering ModelState with multiple bases.
2013-12-06 00:55:31 +01:00
Andrew Godwin
e9c6d04224
Better error reporting when from_app_cache fails
2013-12-05 14:20:30 +00:00
Andrew Godwin
3b8e46cbc7
Migration VCS conflict detection and --merge for makemigrations
2013-12-04 16:01:49 +00:00
Andrew Godwin
ce05b8a69e
Don't make a second migration if there was a force-null-default addcol.
2013-12-04 13:56:22 +00:00
Andrew Godwin
df800b1609
Add clone() method to Field to get clean copies of it.
2013-12-04 13:55:45 +00:00
Alex Hill
ec73ce5d8a
Fixed comment typos.
2013-11-30 07:59:32 -05:00
Loic Bistuer
f563c339ca
Fixed #20867 -- Added the Form.add_error() method.
...
Refs #20199 #16986 .
Thanks @akaariai, @bmispelon, @mjtamlyn, @timgraham for the reviews.
2013-11-30 01:00:53 +07:00
Simon Charette
42ac138009
Fixed a deprecation warning introduced by 96dd48c83f
.
2013-11-28 21:42:24 -05:00
Loic Bistuer
91fce675a4
Use 'update_fields' in RelatedManager.clear() when bulk=False.
...
Thanks Simon Charette for the suggestion.
Refs #21169 .
2013-11-29 03:01:08 +07:00
Christopher Medrela
7477a4ffde
Fixed E125 pep8 warnings
2013-11-28 08:50:11 -05:00
Loic Bistuer
f450bc9f44
Added a bulk option to RelatedManager remove() and clear() methods
...
Refs #21169
2013-11-27 19:45:22 +02:00
Anssi Kääriäinen
52015b963d
Used simpler queries for m2m clearing when possible.
...
Refs #21169
2013-11-27 19:45:05 +02:00
Loic Bistuer
17c3997f68
Fixed #21169 -- Reworked RelatedManager methods use default filtering
...
The `remove()` and `clear()` methods of the related managers created by
`ForeignKey`, `GenericForeignKey`, and `ManyToManyField` suffered from a
number of issues. Some operations ran multiple data modifying queries without
wrapping them in a transaction, and some operations didn't respect default
filtering when it was present (i.e. when the default manager on the related
model implemented a custom `get_queryset()`).
Fixing the issues introduced some backward incompatible changes:
- The implementation of `remove()` for `ForeignKey` related managers changed
from a series of `Model.save()` calls to a single `QuerySet.update()` call.
The change means that `pre_save` and `post_save` signals aren't called anymore.
- The `remove()` and `clear()` methods for `GenericForeignKey` related
managers now perform bulk delete so `Model.delete()` isn't called anymore.
- The `remove()` and `clear()` methods for `ManyToManyField` related
managers perform nested queries when filtering is involved, which may
or may not be an issue depending on the database and the data itself.
Refs. #3871 , #21174 .
Thanks Anssi Kääriäinen and Tim Graham for the reviews.
2013-11-27 19:44:18 +02:00
Andrew Godwin
67b51b9895
Include deferred SQL in sqlmigrate output
2013-11-27 16:29:37 +00:00
Andrew Godwin
5e63977c0e
Fixed #21438 : makemigrations now detects ManyToManyFields
2013-11-27 15:28:33 +00:00
Andrew Godwin
4fcfc31865
Add gis deconstruct() method (this does not make schema work)
2013-11-27 12:56:33 +00:00
Andrew Godwin
96dd48c83f
Change initial migration writing to work as docs suggest.
...
Application template now includes an empty migrations module, and
the autodetector will only make initial migrations for apps with
empty modules.
2013-11-27 12:34:31 +00:00
Andrew Godwin
db4527e3c0
Fix squashed migration loading ordering issue
2013-11-27 12:29:22 +00:00
Simon Charette
eb38257e51
Fixed #21391 -- Allow model signals to lazily reference their senders.
2013-11-24 17:51:22 -05:00
Joel Bohman
19e5cd77f0
Fixed #21497 -- Forced conversion to bytes for very long index names
2013-11-24 13:15:50 -05:00
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