summaryrefslogtreecommitdiff
path: root/django/db
AgeCommit message (Collapse)Author
2008-08-17Fixed #8238 -- If an invalid database backend is mentioned in settings and theMalcolm Tredinnick
environment doesn't support os.listdir(), we crashed whilst trying to construct the friendly error message. This was not so friendly. This patch handles that case (which occurs in real life in Google App Engine). Patch from Guido van Rossum. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8424 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-17Fixed #7241 -- More robust exception catching in the transaction managementMalcolm Tredinnick
code. As pointed out in the ticket, Python still lets you raise all sorts of odd things as exceptions (e.g. strings), so even though they're bad form, we should still handle them. We do that cleanly now. Thanks to jim-django@dsdd.org for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8419 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-16Fixed #3121 -- Made `get_or_create()` work for `RelatedManager` and ↵Gary Wilson Jr
`ManyRelatedManager`. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8415 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-16Fixed #8315 -- If an exception is raised whilst trying to rollback aMalcolm Tredinnick
transaction (after another exception in the code), make sure the original exception is reported, rather than the rollback-generated one. The latter is almost certainly a consequence of the former. Patch from Karen Tracey. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8411 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-16Fixed #8355: Removed some whitespace that was apparently causing difficulty ↵Russell Keith-Magee
with script compilation. Thanks to bear330 for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8402 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-15Fixed #6970 -- Raise the original `IntegrityError` when all required fields ↵Gary Wilson Jr
aren't specified in `get_or_create` instead of a misleading `DoesNotExist` error, thanks deadwisdom. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8398 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-15Reverted [8318] and [8329], since the change turned out to have no effect, uponMalcolm Tredinnick
closer examination of the C-library layer. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8380 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-15Fixed #8331 -- Added style parameter to sqlite backend implementation of ↵Russell Keith-Magee
sql_remove_table_constraints, missed in recent db backend refactor. Thanks to d00gs for the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8364 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-15Fixed Oracle backend test case failure in modeltests\lookup.Matt Boersma
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8355 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-14Fixed #8206 -- Removed validate methods of Model and Model fields. They are ↵Gary Wilson Jr
are unsupported for 1.0 and will be replaced with more complete model validation (refs #6845). git-svn-id: http://code.djangoproject.com/svn/django/trunk@8348 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Fixed oracle-specific test DB creation code so the test suite will run again.Matt Boersma
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8330 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Fixed #8260 -- Changed [8318] to also work with MySQLdb 1.2.1p2.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8329 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Fixed a group of missing imports, aliases and parameter passings from theMalcolm Tredinnick
db.backend.creation refactoring. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8328 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Changed "exact" matches in MySQL to use the database's native collation.Malcolm Tredinnick
This effectively reverses the change in [7798]. It was proving too difficult to successfully manage all the side effects here and provide a satisfactory solution for everybody. Many thanks to arne, Martin von Löwis and, particular, Karen Tracey, for doing a lot of research and proto-patches here to establish what was possible and practical. This is backwards incompatible if you were relying on the behaviour after [7798]. The docs have been updated to indicate the solution. Refs #2170, #7789, #8102. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8319 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Convert binary-matched VARCHAR fields to unicode objects in the MySQL backend.Malcolm Tredinnick
This conforms to Djangos' policy of returning Unicode everywhere. Suggested by arne and Martin von Löwis. Refs #7789. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8318 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Do not use savepoints with PostgreSQL prior to 8.0.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8317 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Added savepoint protection to get_or_create() to avoid problems on PostgreSQL.Malcolm Tredinnick
Fixed #7402. Also made savepoint handling easier to use when wrapped around calls that might commit a transaction. This is tested by the get_or_create tests. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8315 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-12Added savepoint support to the transaction code.Malcolm Tredinnick
This is a no-op for most databases. Only necessary on PostgreSQL so that we can do things which will possibly intentionally raise an IntegrityError and not have to rollback the entire transaction. Not supported for PostgreSQL versions prior to 8.0, so should be used sparingly in internal Django code. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8314 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-11Fixed stupid syntax error in [8303].Jacob Kaplan-Moss
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8305 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-11Fixed #8228: fixed a Python 2.3 compatibility from [8296].Jacob Kaplan-Moss
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8303 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-11Removed some empty modules that are no longer required after [8296].Russell Keith-Magee
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8301 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-11Corrected a problem with the error message when the nominated database ↵Russell Keith-Magee
backend doesn't exist. Thanks to Ramiro Morales for the report and fix. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8297 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-11Fixed #5461 -- Refactored the database backend code to use classes for the ↵Russell Keith-Magee
creation and introspection modules. Introduces a new validation module for DB-specific validation. This is a backwards incompatible change; see the wiki for details. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8296 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-10Fixed #7830 -- Removed all of the remaining, deprecated, non-oldforms features:Gary Wilson Jr
* Support for representing files as strings was removed. Use `django.core.files.base.ContentFile` instead. * Support for representing uploaded files as dictionaries was removed. Use `django.core.files.uploadedfile.SimpleUploadedFile` instead. * The `filename`, `file_name`, `file_size`, and `chuck` properties of `UploadedFile` were removed. Use the `name`, `name`, `size`, and `chunks` properties instead, respectively. * The `get_FIELD_filename`, `get_FIELD_url`, `get_FIELD_size`, and `save_FIELD_file` methods for Models with `FileField` fields were removed. Instead, use the `path`, `url`, and `size` attributes and `save` method on the field itself, respectively. * The `get_FIELD_width` and `get_FIELD_height` methods for Models with `ImageField` fields were removed. Use the `width` and `height` attributes on the field itself instead. * The dispatcher `connect`, `disconnect`, `send`, and `sendExact` functions were removed. Use the signal object's own `connect`, `disconnect`, `send`, and `send` methods instead, respectively. * The `form_for_model` and `form_for_instance` functions were removed. Use a `ModelForm` subclass instead. * Support for importing `django.newforms` was removed. Use `django.forms` instead. * Support for importing `django.utils.images` was removed. Use `django.core.files.images` instead. * Support for the `follow` argument in the `create_object` and `update_object` generic views was removed. Use the `django.forms` package and the new `form_class` argument instead. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8291 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-09Fixed #7921: for sqlite3 2.4.1 or later, adapt str objects to unicode, thus ↵Jacob Kaplan-Moss
preveting weird failures with 8-bit bytestrings. Martin von Löwis and Karen Tracey tracked this one down -- thanks! git-svn-id: http://code.djangoproject.com/svn/django/trunk@8276 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-09Added the ability to force an SQL insert (or force an update) via a model'sMalcolm Tredinnick
save() method. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8267 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-08File storage refactoring, adding far more flexibility to Django's file ↵Jacob Kaplan-Moss
handling. The new files.txt document has details of the new features. This is a backwards-incompatible change; consult BackwardsIncompatibleChanges for details. Fixes #3567, #3621, #4345, #5361, #5655, #7415. Many thanks to Marty Alchin who did the vast majority of this work. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8244 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-08Fixed #6523 -- Use the correct cast on field types for PostgreSQL whenMalcolm Tredinnick
searching within a field column (e.g. "like", "contains", etc). Required for PostgreSQL 8.3. Thanks to Dan Watson for the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8242 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-08Fixed #8111 -- Error message typo fix. Thanks mzgur.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8229 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-06Major refactoring of django.dispatch with an eye towards speed. The net ↵Jacob Kaplan-Moss
result is that signals are up to 90% faster. Though some attempts and backwards-compatibility were made, speed trumped compatibility. Thus, as usual, check BackwardsIncompatibleChanges for the complete list of backwards-incompatible changes. Thanks to Jeremy Dunck and Keith Busell for the bulk of the work; some ideas from Brian Herring's previous work (refs #4561) were incorporated. Documentation is, sigh, still forthcoming. Fixes #6814 and #3951 (with the new dispatch_uid argument to connect). git-svn-id: http://code.djangoproject.com/svn/django/trunk@8223 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-05Fixed #7683: Try not to delete uploaded files before moving them, and don't ↵Jacob Kaplan-Moss
wig out of someone else does. Patch from screeley and spaetz. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8217 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-05Fixed #7904: added support for a "use_for_related_fields" property on ↵Jacob Kaplan-Moss
managers. If True, the manager will be used for related object lookups instead of the "bare" QuerySet introduced bu [8107]. Patch from Justin Bronn. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8212 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-03Removed unused warnings import that should have been removed in [8191], refs ↵Gary Wilson Jr
#7830. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8199 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-02Fixed #7919 -- md5 and sha modules are deprecated since Python 2.5, use ↵Gary Wilson Jr
hashlib module when available. Patch from Karen Tracey. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8193 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-02Removed several deprecated features for 1.0 (refs #7830):Gary Wilson Jr
* "simple" cache backend * `ObjectPaginator` * `edit_inline_type` argument for `ForeignKey` fields * `QOperator`, `QNot`, `QAnd` and `QOr` * `maxlength` argument git-svn-id: http://code.djangoproject.com/svn/django/trunk@8191 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-08-01Fixed #8070 -- Cache related objects passed to Model init as keyword ↵Gary Wilson Jr
arguments. Also: * Model init no longer performs a database query to refetch the related objects it is passed. * Model init now caches unsaved related objects correctly, too. (Previously, accessing the field would raise `DoesNotExist` error for `null=False` fields.) * Added tests for assigning `None` to `null=True` `ForeignKey` fields (refs #6886). git-svn-id: http://code.djangoproject.com/svn/django/trunk@8185 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-30Fixed #8028 -- A couple of small docstring fixes from [8131]. Thanks, Leo Soto.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8146 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-30Fixed #7637 -- Added an extra parameterisation hook to the Oracle backend.Malcolm Tredinnick
Required for some extension modules (in particular, geo-django). Patch from Justin Bronn. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8145 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-30Fixed #8023 -- Allow filtering of DecimalFields (in models) using strings.Malcolm Tredinnick
At the same time, checked all other cases of db_prep_value() to ensure they aren't making the same mistake. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8143 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-29Fixed #7913 -- Corrected ham-fisted typo from [8102]. Thanks to evinrik for ↵Russell Keith-Magee
the report. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8139 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-29Fixed a subtle bug (really, an inconsistency) in ForeignKey that [8132] ↵Jacob Kaplan-Moss
exposed by causing the model_forms test to fail. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8138 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-29Fixed #6095 -- Added the ability to specify the model to use to manage a ↵Russell Keith-Magee
ManyToManyField. Thanks to Eric Florenzano for his excellent work on this patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8136 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-29Fixed #8011 -- Be careful not to evalute lazy-translated Meta.verbose_nameMalcolm Tredinnick
values whilst importing models. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8132 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-29Fixed #7560 -- Moved a lot of the value conversion preparation forMalcolm Tredinnick
loading/saving interactions with the databases into django.db.backend. This helps external db backend writers and removes a bunch of database-specific if-tests in django.db.models.fields. Great work from Leo Soto. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8131 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-28Fixed #7853 -- Fixed another case of deleting inherited models with foreign keyMalcolm Tredinnick
references. Thanks to Russell for the test case that demonstrated the problem. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8128 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-28Put back [8120] along with a small tweak. Fixed #6217.Malcolm Tredinnick
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8127 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-28Back out [8120] for a bit. Refs #6217. It's having unintended side-effects ↵Malcolm Tredinnick
(a.k.a breaks the tree) git-svn-id: http://code.djangoproject.com/svn/django/trunk@8126 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-27Fixed #6217 -- Reduced the memory used by each ugettext_lazy() call.Malcolm Tredinnick
Thanks to Jakub Wilk for analysis and the initial patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8120 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-27Fixed #7886 -- Reordered some code in Query.results_iter() to ensure that allMalcolm Tredinnick
the prequisites are correctly initialised prior to using them. Only affects Oracle and other db backends requiring resolve_columns() (e.g. MS SQL?) git-svn-id: http://code.djangoproject.com/svn/django/trunk@8112 bcc190cf-cafb-0310-a4f2-bffc1f526a37
2008-07-27Fixed #7872 -- Fixed a missed case of promoting table joins when usingMalcolm Tredinnick
disjunctive filters. Thanks to Michael Radziej for the failing test case. problem. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8107 bcc190cf-cafb-0310-a4f2-bffc1f526a37