Commit Graph

3340 Commits

Author SHA1 Message Date
Claude Paroz 86eb606b88 Used skipIf decorator to skip image tests when PIL is not available 2012-07-06 11:20:07 +02:00
Andrei Antoukh 0f49b2bce2 Fixed #18362 - Made model.save() update_fields accept attnames 2012-07-05 16:43:28 +03:00
Luke Plant b0eee0ba4b Removed various unnecessary instances of mark_safe applied to URLs
Also fixed some test breakages introduced in last commit
2012-07-03 22:20:12 +01:00
Luke Plant bee498f3a2 Added 'format_html' utility for formatting HTML fragments safely 2012-07-03 22:20:12 +01:00
Claude Paroz cf731a543e Fixed widget parent class in generic_relations test 2012-07-03 11:57:15 +02:00
Anssi Kääriäinen 925a6936b9 Stylistic cleanup of Postgres autocommit tests
Cleaned up tests introduced in f572ee0c65.

Thanks to Claude Paroz for suggesting the changes.
2012-07-03 10:22:13 +03:00
Julien Phalip 2cd4cf58d3 Fixed #18550 -- Ensured that the admin history view works with escaped primary keys.
Thanks to josh.oosterman for the report and patch.
2012-07-01 18:40:50 -07:00
Anssi Kääriäinen e74787391e Fixed a regression introduced in where.as_sql() refactor
At least Oracle needs parentheses in negated where conditions, even if
there is only single condition negated. Fixed this by reverting to old
logic in that part of as_sql() and adding a comment about this.

I did not investigate why the parentheses are needed. The original
offending commit was bd283aa844.
2012-07-01 22:52:35 +03:00
Anssi Kääriäinen f572ee0c65 Fixed #16047 -- Restore autocommit state correctly on psycopg2
When the postgresql_psycopg2 backend was used with DB-level autocommit
mode enabled, after entering transaction management and then leaving
it, the isolation level was never set back to autocommit mode.

Thanks brodie for report and working on this issue.
2012-07-01 19:36:43 +03:00
Anssi Kääriäinen da573fbb41 Fixed some locations to work with autocommit=True
- backends: supports_transactions()
 - select_for_update tests
2012-07-01 19:27:36 +03:00
Anssi Kääriäinen bd283aa844 Refactored the empty/full result logic in WhereNode.as_sql()
Made sure the WhereNode.as_sql() handles various EmptyResultSet and
FullResultSet conditions correctly. Also, got rid of the FullResultSet
exception class. It is now represented by '', [] return value in the
as_sql() methods.
2012-07-01 17:21:34 +03:00
Claude Paroz deed192dda Removed usage of mimetype kwarg of HttpResponse
Refs #16519.
2012-06-30 21:19:07 +02:00
Claude Paroz 47da7b7a9a Fixed #18102 -- Defined min/max_length on French localflavor form fields
Thanks mothsART for the report and the initial patch.
2012-06-30 13:18:07 +02:00
Claude Paroz 26cb227cfe Fixed #15197 -- Fixed yaml serialization into HttpResponse
Thanks fourga38 for the report and hirokiky at gmail.com for the
initial patch.
2012-06-28 16:29:29 +02:00
Josh Smeaton fa182e8ae8 Fixed #18465 -- Set date formats correctly on Oracle
Correctly configure NLS_SESSION_PARAMETERS to format Date and DateTime
on Oracle backend.

Thanks to Josh Smeaton for report & patch.
2012-06-26 19:39:14 +03:00
Claude Paroz 05d333ba3b Fixed #18515 -- Conditionally regenerated filename in FileField validation
When a FileField value has been saved, a new validation should not
regenerate a new filename when checking the length. Refs #9893.
2012-06-26 18:18:44 +02:00
Anssi Kääriäinen b6c356b7bb Fixed #17485 -- Made defer work with select_related
This commit tackles a couple of issues. First, in certain cases there
were some mixups if field.attname or field.name should be deferred.
Field.attname is now always used.

Another issue tackled is a case where field is both deferred by
.only(), and selected by select_related. This case is now an error.

A lot of thanks to koniiiik (Michal Petrucha) for the patch, and
to Andrei Antoukh for review.
2012-06-26 18:08:42 +03:00
Claude Paroz 4b722b31e1 Fixed #16317 -- Fixed dumpdata for self-referencing models and natural keys
Thanks aldaran for the patch.
2012-06-24 19:54:56 +02:00
Alex Gaynor e0fce8706d Switch to using context managers for acquiring and releasing locks. 2012-06-23 08:11:15 -07:00
Dmitry Medvinsky d4da08375b Fixed #18454 -- Added ability to pass a list of signals to `receiver`.
Added ability to use receiver decorator in the following way:

    @receiver([post_save, post_delete], sender=MyModel)
    def signals_receiver(sender, **kwargs):
        ...
2012-06-23 16:31:16 +02:00
Luke Plant a54a8bab0c Fixed #17776 - DoesNotExist is not picklable
Thanks to ambv for the report
2012-06-22 13:28:15 +01:00
Claude Paroz f08fa5b555 Removed unneeded u prefixes 2012-06-19 17:37:28 +02:00
Chris Beaven c57ba67331 Fixed #14502 again -- saner verbatim closing token
Previously, the closing token for the verbatim tag was specified as the
first argument of the opening token. As pointed out by Jannis, this is
a rather major departure from the core tag standard.

The new method reflects how you can give a specific closing name to
{% block %} tags.
2012-06-19 10:49:33 +12:00
Claude Paroz fe873e2765 Fixed #12140 -- Fixed http.urlencode result for empty lists
Thanks aneil for the report and the initial patch.
2012-06-14 11:32:40 +02:00
Claude Paroz a2022dae7f Removed escaping test of query content
As the content of last_executed_query() is not under Django's control
for most backends, it is useless to test too specific aspects of it.
2012-06-13 13:37:22 +02:00
Anssi Kääriäinen 86c20e39eb Fixed connection.queries encoding handling on Oracle
In addition, removed a possibly problematic .filter() call from
backends.test_query_encoding test. It is possible the .filter could
cause collation problems on MySQL, and as it wasn't absolutely needed
for the test it seemed better to get rid of the call.

Refs #18461.
2012-06-13 14:16:34 +03:00
Claude Paroz e9ef9776d1 Fixed #18461 -- Ensured that last_executed_query returns Unicode
Thanks Anssi Kääriäinen for the review.
2012-06-13 12:04:46 +02:00
Claude Paroz a7ef802fa4 Added missing encoding prefix in localflavor test 2012-06-12 14:25:51 +02:00
Claude Paroz 35f9c2c07a Cleaned up locale-related encoding issues 2012-06-12 14:23:41 +02:00
Claude Paroz 3dd5d726d1 Fixed #18463 -- Forced type() argument to be a byte string 2012-06-11 22:14:06 +02:00
Claude Paroz fc40a6504b Fixed #17159 -- Validated returned number of next|previous_page_number
Thanks mehta.apurva at gmail.com for the report and the initial patch
and neaf for the complete patch.
2012-06-09 17:55:24 +02:00
Claude Paroz ef906b1632 Removed test of connection features before setting up databases 2012-06-09 17:22:24 +02:00
Claude Paroz ad47364dd3 Reverted 905e33f, now that DatabaseFeatures does not need confirm
Connection.features does not need to be confirmed any more, after
commit aa42357, rendering obsolete the workaround when using
TEST_MIRROR (Refs #16885, #17760).
2012-06-09 17:05:54 +02:00
Claude Paroz aa423575e7 Fixed #17760 -- Implemented callable database features as cached properties
This does remove the requirement to call features.confirm() method
before checking the properties.
Thanks cdestiger and Ramiro Morales for their work on the patch.
2012-06-09 15:59:52 +02:00
Anssi Kääriäinen 484fcd34a4 Fixed #16418 -- Made generic views work with ModelForms
Generic views assumed any object's _meta will be model Options. This
is not true for ModelForms for example. Took isinstance(obj, Model)
in use instead.
2012-06-09 01:12:14 +03:00
Aymeric Augustin 23d230f058 Merge pull request #123 from apollo13/ticket18381
Fixed #18381 -- Stopped escaping object ids

when passing them to the contenttypes.shortcut view.

Thanks apollo13 for the patch and dhepper for the review.
2012-06-08 01:48:41 -07:00
Daniel Hepper 0ae727beda Fixed #18433 -- Fixed "View on Site" link in inline admin for models with custom PK 2012-06-07 21:08:36 +02:00
Jann Kleen 1a412dda62 Fixed #18432 -- Prevented the ForeignKey field from creating an invalid query when chained. Thanks, Jann Kleen. 2012-06-07 18:49:19 +02:00
Claude Paroz 4a103086d5 Fixed #18269 -- Applied unicode_literals for Python 3 compatibility.
Thanks Vinay Sajip for the support of his django3 branch and
Jannis Leidel for the review.
2012-06-07 18:08:47 +02:00
Florian Apolloner e1643e3535 Don't escape object ids when passing to the contenttypes.shortcut view.
This commit also changes the string pk to string_pk instead of id, to test
if the admin uses .pk throughout the codebase.
2012-06-07 17:52:12 +02:00
Claude Paroz 6492e8e5e6 Added more precise assertions on two fixture tests. 2012-06-07 14:37:37 +02:00
Claude Paroz 6fd1950a4e Fixed #10200 -- Raised CommandError when errors happen in loaddata. 2012-06-07 10:32:10 +02:00
Aymeric Augustin 4464bbba15 Fixed #14502 -- Added a verbatim template tag.
Thanks SmileyChris for the patch.
2012-06-07 09:59:14 +02:00
Claude Paroz 2c57809a56 Prevented TestNoInitialDataLoading to pollute other tests (Refs #15926)
Tests were still failing with MySQL. It seems a rollback is solving
the issue.
2012-06-06 15:47:48 +02:00
Luke Plant 4fea46a030 Fixed #18309 - Prefetch related does not work for fkey to multitable inherited model
Thanks to milosu for the report, tests and initial patch.
2012-06-06 14:17:32 +01:00
Claude Paroz f0664dc8ae Made TestNoInitialDataLoading pass with MySQL (Refs #15926) 2012-06-06 13:54:40 +02:00
Honza Kral fedac99c85 Fixed #15926 -- Added option --no-initial-data to syncdb and flush.
Thanks msiedlarek, jpaugh64 and vlinhart!
2012-06-05 16:46:15 +02:00
Julien Phalip f699641161 Fixed #17138 -- Made the sensitive_variables decorator work with object methods. 2012-06-03 23:44:13 -07:00
Honza Kral a89034a2d8 Changed FilePathField tests to use it's own directory with test files.
In previous version it used /django/forms/ which was fragile - for some
users .pyc files were not generated and this tests failed.
2012-06-03 22:54:34 +02:00
Honza Kral 71d9a2a7fe Unittest2 style assertTrue instead of assert_ 2012-06-03 22:31:49 +02:00
Honza Kral f823ae3b3e Fixed incorrect assert in test_filepathfield_folders 2012-06-03 21:46:14 +02:00
Claude Paroz 566ac30eb9 Fixed override_settings usage in test_client_regress 2012-06-02 19:50:24 +02:00
Claude Paroz ade44b8d40 Fixed settings override in mail regression tests
self.settings_override from test subclasses were overwriting parent
attribute.
2012-06-02 19:44:15 +02:00
Ramiro Morales d4648a3446 Removed debugging code added in last commit. 2012-06-01 21:50:06 -03:00
Ramiro Morales 72130385bf Made inspectdb tests deal with a smaller generated models.py file.
Implemented this by adding a stealth table_name_filter option for the
command.
2012-06-01 21:46:07 -03:00
Julien Phalip f6fc83c975 Fixed #18409 -- Made RegexField work with unicode characters. 2012-05-31 11:45:35 -07:00
Claude Paroz ea4e0aad9e Cleaned up test_client_regress tests 2012-05-31 17:43:21 +02:00
Claude Paroz 4553f51155 Moved test_client_regress tests from models.py to tests.py 2012-05-31 17:21:13 +02:00
Claude Paroz 0dc904979d Fixed #18407 -- Made model field's to_python methods fully accept unicode.
When generating error message in to_python, any unicode string
containing non-ascii characters triggered a UnicodeEncodeError for
most field types.
2012-05-31 16:46:07 +02:00
Claude Paroz 473c272246 Rewrote test_error_messages with helper test utility. 2012-05-31 16:24:37 +02:00
Claude Paroz 2626ea4a74 Fixed #14681 -- Do not set mode to None on file-like objects.
gzip.GzipFile does not support files with mode set to None.
2012-05-31 10:02:35 +02:00
Julien Phalip 432339a72c Fixed #18393 -- Prevented blocktrans to crash when a variable name is badly formatted. 2012-05-28 11:03:34 -07:00
Claude Paroz a535040bfa Used call_command stdout parameter to capture output in staticfiles tests. 2012-05-28 11:55:38 +02:00
Claude Paroz c3b56c7cdd Used call_command in i18n compilation tests.
Now that call_command does not raise SystemExit any more, we can
use call_command again for testing compilemessages.
2012-05-27 23:11:27 +02:00
Claude Paroz cc4b4d9fd3 Used CommandError in createcachetable command.
Raising CommandError whenever a management command meets an error
condition is the standard way to handle errors in commands.
2012-05-27 23:03:21 +02:00
Claude Paroz f2b6763ad7 Fixed #18387 -- Do not call sys.exit during call_command.
Moved sys.exit(1) so as failing management commands reach it
only when running from command line.
2012-05-27 20:38:47 +02:00
Michael Newman 4423757c0c Fixed #18135 -- Close connection used for db version checking
On MySQL when checking the server version, a new connection could be
created but never closed. This could result in open connections on
server startup.
2012-05-27 18:45:08 +03:00
Anssi Kääriäinen a8a81aae20 Fixed #18343 -- Cleaned up deferred model implementation
Generic cleanup and dead code removal in deferred model field loading
and model.__reduce__().

Also fixed an issue where if an inherited model with a parent field
chain parent_ptr_id -> id would be deferred loaded, then accessing
the id field caused caused a database query, even if the id field's
value is already loaded in the parent_ptr_id field.
2012-05-27 18:11:13 +03:00
Claude Paroz 7a4233b69c Removed a duplicate test in fixtures_regress.
test_abort_loaddata_on_error was exactly the same test as
test_empty (error is tested in test_error_message).
2012-05-26 16:42:28 +02:00
Claude Paroz 3b5083bee5 Fixed #5423 -- Made dumpdata output one row at a time.
This should prevent storing all rows in memory when big sets of
data are dumped.
See ticket for heroic contributors.
2012-05-26 11:43:37 +02:00
Claude Paroz edfa95c22f Specified when open should use binary mode.
Thanks Vinaj Sajip for the help of his django3 branch.
2012-05-25 20:43:43 +02:00
Aymeric Augustin e73838b6dd Fixed #17371 -- Made the test client more flexible
The OPTIONS, PUT and DELETE methods no longer apply arbitrary
data encoding (in the query string or in the request body).
2012-05-25 19:03:15 +02:00
Anssi Kääriäinen 323b414441 Added tests for nested exclude/negate queries 2012-05-25 14:10:45 +03:00
Anssi Kääriäinen 8c72aa2379 Fixed qs.order_by() join promotion for already existing joins
When order_by causes new joins to be added to the query, the joins must
be LEFT OUTER joins for nullable relations, otherwise the order_by
could cause the results to be altered. This commit fixes the logic to
only promote new joins, previously all joins in the order_by lookup
path were promoted.

Thanks to Bruno Desthuilliers for spotting this corner case.
2012-05-24 18:42:06 +03:00
Aymeric Augustin 1e6c3368f2 Fixed #18177 -- Cached known related instances.
This was recently fixed for one-to-one relations; this patch adds
support for foreign keys. Thanks kaiser.yann for the report and
the initial version of the patch.
2012-05-24 13:25:01 +02:00
Aymeric Augustin 3b2993ed04 Fixed #18353 -- Inconsistency in date-based CBVs. 2012-05-24 13:02:19 +02:00
Anssi Kääriäinen 0df4593f0e Fixed #18319 -- Added 'supports_sequence_reset' DB feature
Added a new feature to allow 3rd party backends to skip tests which
test sequence resetting.

Thanks to manfre for report and patch.
2012-05-22 23:51:05 +03:00
Anssi Kääriäinen 8ee1a664f9 Fixed #18318 -- Changed some tests to be 3rd party DB friendly
Thanks to manfre for report and patch.
2012-05-22 23:33:42 +03:00
Anssi Kääriäinen 459c3b67b7 Fixed #18317 -- Removed db specific raw SQL function from tests
A test in model_fields used LEN() in raw SQL. This function is not
available on some 3rd party backends. I removed this function and
ensured that the test works correctly (breaks pre e9bbdb39de) with
the change.
2012-05-22 23:16:24 +03:00
Anssi Kääriäinen d5c7f9efc3 Fixed #18304 -- Optimized save() when update_can_self_select=False
Databases with update_can_self_select = False (MySQL for example)
generated non-necessary queries when saving a multitable inherited
model, and when the save resulted in update.
2012-05-22 20:59:33 +03:00
Aymeric Augustin 03f86a5adb Fixed #18354 -- Performance issue in CBV.
Prevented repeating a query twice when the model isn't ordered by
-date_field (in Meta), allow_empty is False and pagination isn't
enabled.
2012-05-20 13:18:42 +02:00
Claude Paroz 38408f8007 Marked bytestrings with b prefix. Refs #18269
This is a preparation for unicode literals general usage in
Django (Python 3 compatibility).
2012-05-19 17:43:34 +02:00
Claude Paroz 822d6d6dab Fixed #18325 -- Wrapped self.stdout/stderr in OutputWrapper class 2012-05-19 13:51:54 +02:00
Claude Paroz 45f55a9fcc Fixed broken ES localflavor test after 4774875. 2012-05-18 13:45:42 +02:00
Claude Paroz 7549de841c Fixed #18334 -- Fixed detection of supports_stddev backend feature.
Thanks to Michael Manfre for the report and Anssi Kääriäinen for the
review.
2012-05-18 12:12:45 +02:00
Aymeric Augustin ab268e1848 Added a test for DayArchiveView. Refs #17192. 2012-05-17 17:53:19 +02:00
Aymeric Augustin dcd4383107 Fixed #9893 -- Validated the length of file names
after the full file name is generated by the storage class.

Thanks Refefer for the report, carsongee for the patch, and
everyone else involved in the discussion.
2012-05-17 16:02:05 +02:00
Aymeric Augustin c4996df16c Fixed #17449 -- Added OPTIONS to generic views.
Thanks estebistec for the report and patch.
2012-05-17 13:54:51 +02:00
Aymeric Augustin 009e237cf0 Fixed #17535 -- Optimized list generic views.
When allow_empty is False, prevented the view from loading
the entire queryset in memory when pagination is enabled.
2012-05-17 13:34:53 +02:00
Claude Paroz 006c2b8fc1 Fixed #18326 -- Stripped ending chars in LiveServerViews tests.
Ending chars might be different depending on git crlf setting.
Thanks Michael Manfre for the report and the patch.
2012-05-17 11:10:48 +02:00
Jannis Leidel 5f75ac91df Fixed #17896 -- Added file_hash method to CachedStaticFilesStorage to be able to customize the way the hashed name of a file is created. Thanks to mkai for the initial patch. 2012-05-16 13:21:50 +02:00
Aymeric Augustin fcb09b5746 Fixed #10890: added prev/next_week in the context
of per-week date-based generic views. Thanks ee_lars for the report.
2012-05-14 22:40:45 +02:00
Claude Paroz bbb12581db Replaced im_func and im_self by __func__ and __self__.
The new names are Python 3 compatible.
2012-05-12 22:35:21 +02:00
Claude Paroz 33ffd28d76 Added missing relative imports in test files. 2012-05-12 19:58:32 +02:00
Anssi Kääriäinen de79d23ce0 Avoided test failure on MySQL by skipping a failing test
MySQL generates an extra query in inheritance cases when doing an update.
This results in a test failure when checking for number of queries in
update_only_fields tests. Added a skip temporarily to avoid this test
failure. Refs #18304.
2012-05-12 12:03:46 +03:00
Andrei Antoukh 365853da01 Fixed #4102 -- Allow update of specific fields in model.save()
Added the ability to update only part of the model's fields in
model.save() by introducing a new kwarg "update_fields". Thanks
to all the numerous reviewers and commenters in the ticket
2012-05-12 10:29:41 +03:00
Aymeric Augustin 46648b641d Fixed #17798 -- Tweaked the CA localflavor.
Thanks shelldweller.
2012-05-10 22:19:01 +02:00
Claude Paroz 169b1a404c Replaced foo.next() by next(foo).
This new syntax for next() has been introduced in Python 2.6 and is
compatible with Python 3.
2012-05-10 20:15:49 +02:00
Anssi Kääriäinen c2e1ecb4b1 Fix proxy model Query.remove_inherited_models()
Fixed #18248 -- proxy models were added to included_inherited_models
in sql.query.Query. The variable is meant to be used for multitable
inheritance only. This mistake caused problems in situations where
proxy model's query was reused.
2012-05-09 20:33:31 +03:00
Simon Charette 5cbfb48b92 Made model fields comparable to other objects
Fixed #17851 -- Added __lt__ and @total_ordering to models.Field,
made sure these work correctly on other objects than Field, too.
2012-05-07 20:08:20 +03:00