Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Merge remote-tracking branch 'core/master' into schema-alteration

Conflicts:
	django/db/models/fields/related.py
  • Loading branch information...
commit 3c296382b8dea5de7f4e1e11b66bd7cecaf2ee51 2 parents 7609e0b + 357d62d
Andrew Godwin authored June 07, 2013

Showing 303 changed files with 6,419 additions and 3,079 deletions. Show diff stats Hide diff stats

  1. 33  AUTHORS
  2. 2  django/__init__.py
  3. 5  django/conf/__init__.py
  4. 2  django/conf/global_settings.py
  5. 188  django/conf/locale/en/LC_MESSAGES/django.po
  6. 3  django/conf/urls/__init__.py
  7. 6  django/contrib/admin/exceptions.py
  8. 2  django/contrib/admin/filters.py
  9. 4  django/contrib/admin/helpers.py
  10. 81  django/contrib/admin/locale/en/LC_MESSAGES/django.po
  11. 85  django/contrib/admin/options.py
  12. 10  django/contrib/admin/sites.py
  13. 2  django/contrib/admin/templates/admin/auth/user/change_password.html
  14. 2  django/contrib/admin/templates/admin/change_form.html
  15. 2  django/contrib/admin/templates/admin/change_list.html
  16. 2  django/contrib/admin/templates/admin/includes/fieldset.html
  17. 2  django/contrib/admin/templates/admin/login.html
  18. 2  django/contrib/admin/templates/registration/password_change_form.html
  19. 2  django/contrib/admin/templates/registration/password_reset_email.html
  20. 2  django/contrib/admin/templatetags/admin_list.py
  21. 2  django/contrib/admin/templatetags/log.py
  22. 14  django/contrib/admin/util.py
  23. 759  django/contrib/admin/validation.py
  24. 75  django/contrib/admin/views/main.py
  25. 205  django/contrib/admindocs/locale/en/LC_MESSAGES/django.po
  26. 23  django/contrib/admindocs/middleware.py
  27. 24  django/contrib/admindocs/templates/admin_doc/index.html
  28. 8  django/contrib/admindocs/templates/admin_doc/missing_docutils.html
  29. 10  django/contrib/admindocs/templates/admin_doc/model_detail.html
  30. 6  django/contrib/admindocs/templates/admin_doc/model_index.html
  31. 10  django/contrib/admindocs/templates/admin_doc/template_detail.html
  32. 10  django/contrib/admindocs/templates/admin_doc/template_filter_index.html
  33. 10  django/contrib/admindocs/templates/admin_doc/template_tag_index.html
  34. 8  django/contrib/admindocs/templates/admin_doc/view_detail.html
  35. 12  django/contrib/admindocs/templates/admin_doc/view_index.html
  36. 5  django/contrib/admindocs/views.py
  37. 13  django/contrib/auth/__init__.py
  38. 2  django/contrib/auth/forms.py
  39. 2  django/contrib/auth/management/__init__.py
  40. 2  django/contrib/auth/models.py
  41. 53  django/contrib/auth/tests/test_auth_backends.py
  42. 2  django/contrib/auth/tests/test_custom_user.py
  43. 2  django/contrib/auth/tests/test_management.py
  44. 301  django/contrib/auth/tests/test_views.py
  45. 11  django/contrib/auth/tests/urls.py
  46. 15  django/contrib/auth/views.py
  47. 10  django/contrib/comments/locale/en/LC_MESSAGES/django.po
  48. 2  django/contrib/comments/templates/comments/preview.html
  49. 37  django/contrib/contenttypes/generic.py
  50. 7  django/contrib/contenttypes/models.py
  51. 7  django/contrib/contenttypes/tests.py
  52. 2  django/contrib/flatpages/views.py
  53. 6  django/contrib/formtools/exceptions.py
  54. 4  django/contrib/formtools/wizard/storage/cookie.py
  55. 81  django/contrib/gis/db/backends/postgis/operations.py
  56. 10  django/contrib/gis/geos/geometry.py
  57. 2  django/contrib/gis/utils/layermapping.py
  58. 36  django/contrib/humanize/locale/en/LC_MESSAGES/django.po
  59. 18  django/contrib/humanize/templatetags/humanize.py
  60. 30  django/contrib/humanize/tests.py
  61. 14  django/contrib/sessions/backends/base.py
  62. 9  django/contrib/sessions/backends/cached_db.py
  63. 10  django/contrib/sessions/backends/db.py
  64. 14  django/contrib/sessions/backends/file.py
  65. 11  django/contrib/sessions/exceptions.py
  66. 33  django/contrib/sessions/tests.py
  67. 2  django/contrib/sitemaps/__init__.py
  68. 2  django/contrib/staticfiles/finders.py
  69. 8  django/contrib/staticfiles/management/commands/collectstatic.py
  70. 10  django/core/cache/backends/base.py
  71. 15  django/core/cache/backends/db.py
  72. 8  django/core/cache/backends/dummy.py
  73. 15  django/core/cache/backends/filebased.py
  74. 19  django/core/cache/backends/locmem.py
  75. 22  django/core/cache/backends/memcached.py
  76. 34  django/core/exceptions.py
  77. 2  django/core/files/locks.py
  78. 6  django/core/files/move.py
  79. 4  django/core/files/storage.py
  80. 29  django/core/handlers/base.py
  81. 67  django/core/handlers/wsgi.py
  82. 14  django/core/management/base.py
  83. 4  django/core/management/commands/createcachetable.py
  84. 22  django/core/management/commands/dumpdata.py
  85. 2  django/core/management/commands/flush.py
  86. 301  django/core/management/commands/loaddata.py
  87. 19  django/core/management/commands/makemessages.py
  88. 2  django/core/management/commands/runserver.py
  89. 6  django/core/management/commands/syncdb.py
  90. 2  django/core/management/commands/test.py
  91. 18  django/core/management/sql.py
  92. 6  django/core/management/validation.py
  93. 4  django/core/paginator.py
  94. 6  django/core/urlresolvers.py
  95. 24  django/core/xheaders.py
  96. 34  django/db/__init__.py
  97. 15  django/db/backends/__init__.py
  98. 2  django/db/backends/creation.py
  99. 3  django/db/backends/mysql/compiler.py
  100. 22  django/db/backends/oracle/base.py
  101. 3  django/db/backends/oracle/creation.py
  102. 17  django/db/backends/oracle/introspection.py
  103. 4  django/db/backends/postgresql_psycopg2/operations.py
  104. 2  django/db/backends/util.py
  105. 2  django/db/models/__init__.py
  106. 22  django/db/models/base.py
  107. 2  django/db/models/fields/__init__.py
  108. 18  django/db/models/fields/related.py
  109. 22  django/db/models/loading.py
  110. 6  django/db/models/manager.py
  111. 237  django/db/models/query.py
  112. 1  django/db/models/signals.py
  113. 2  django/db/models/sql/aggregates.py
  114. 6  django/db/models/sql/compiler.py
  115. 105  django/db/models/sql/query.py
  116. 26  django/db/models/sql/where.py
  117. 17  django/db/transaction.py
  118. 45  django/db/utils.py
  119. 22  django/forms/fields.py
  120. 11  django/forms/forms.py
  121. 14  django/forms/formsets.py
  122. 52  django/forms/models.py
  123. 15  django/http/multipartparser.py
  124. 14  django/http/request.py
  125. 74  django/http/response.py
  126. 4  django/http/utils.py
  127. 11  django/middleware/cache.py
  128. 29  django/middleware/common.py
  129. 42  django/middleware/csrf.py
  130. 27  django/middleware/doc.py
  131. 9  django/middleware/locale.py
  132. 28  django/template/defaultfilters.py
  133. 18  django/test/client.py
  134. 70  django/test/simple.py
  135. 697  django/test/testcases.py
  136. 51  django/test/utils.py
  137. 2  django/utils/_os.py
  138. 8  django/utils/crypto.py
  139. 19  django/utils/functional.py
  140. 35  django/utils/html.py
  141. 7  django/utils/http.py
  142. 2  django/utils/image.py
  143. 3  django/utils/ipv6.py
  144. 9  django/utils/log.py
  145. 10  django/utils/safestring.py
  146. 7  django/utils/timesince.py
  147. 72  django/utils/translation/trans_real.py
  148. 37  django/views/debug.py
  149. 2  django/views/decorators/csrf.py
  150. 15  django/views/defaults.py
  151. 5  django/views/generic/base.py
  152. 10  django/views/generic/detail.py
  153. 14  django/views/generic/edit.py
  154. 4  django/views/generic/list.py
  155. 68  django/views/i18n.py
  156. 2  docs/_ext/djangodocs.py
  157. 2  docs/conf.py
  158. 6  docs/faq/admin.txt
  159. 51  docs/howto/custom-template-tags.txt
  160. 22  docs/howto/deployment/checklist.txt
  161. 1  docs/howto/deployment/wsgi/uwsgi.txt
  162. 5  docs/howto/error-reporting.txt
  163. 1  docs/howto/index.txt
  164. 16  docs/howto/static-files/index.txt
  165. 91  docs/howto/upgrade-version.txt
  166. 197  docs/internals/committers.txt
  167. 5  docs/internals/contributing/triaging-tickets.txt
  168. 20  docs/internals/contributing/writing-code/unit-tests.txt
  169. 14  docs/internals/deprecation.txt
  170. 76  docs/internals/git.txt
  171. 49  docs/internals/howto-release-django.txt
  172. 76  docs/internals/release-process.txt
  173. 40  docs/intro/overview.txt
  174. 2  docs/intro/tutorial01.txt
  175. 16  docs/intro/tutorial02.txt
  176. 7  docs/intro/tutorial03.txt
  177. 2  docs/intro/tutorial04.txt
  178. 4  docs/intro/tutorial05.txt
  179. 5  docs/ref/class-based-views/base.txt
  180. 7  docs/ref/class-based-views/generic-date-based.txt
  181. 1  docs/ref/class-based-views/generic-display.txt
  182. 4  docs/ref/class-based-views/generic-editing.txt
  183. 2  docs/ref/class-based-views/index.txt
  184. 2  docs/ref/class-based-views/mixins-editing.txt
  185. 11  docs/ref/class-based-views/mixins-simple.txt
  186. 11  docs/ref/contrib/admin/admindocs.txt
  187. 199  docs/ref/contrib/admin/index.txt
  188. 19  docs/ref/contrib/contenttypes.txt
  189. 3  docs/ref/contrib/csrf.txt
  190. 1  docs/ref/contrib/formtools/form-preview.txt
  191. 11  docs/ref/contrib/formtools/form-wizard.txt
  192. 4  docs/ref/contrib/gis/geoip.txt
  193. 10  docs/ref/contrib/gis/install/create_template_postgis-1.5.sh
  194. 1  docs/ref/contrib/messages.txt
  195. 40  docs/ref/contrib/sitemaps.txt
  196. 34  docs/ref/contrib/syndication.txt
  197. 13  docs/ref/databases.txt
  198. 11  docs/ref/django-admin.txt
  199. 29  docs/ref/exceptions.txt
  200. 101  docs/ref/forms/api.txt
  201. 8  docs/ref/forms/fields.txt
  202. 18  docs/ref/forms/models.txt
  203. 9  docs/ref/forms/validation.txt
  204. 3  docs/ref/forms/widgets.txt
  205. 13  docs/ref/middleware.txt
  206. 32  docs/ref/models/fields.txt
  207. 10  docs/ref/models/instances.txt
  208. 6  docs/ref/models/options.txt
  209. 92  docs/ref/models/querysets.txt
  210. 8  docs/ref/models/relations.txt
  211. 50  docs/ref/request-response.txt
  212. 33  docs/ref/settings.txt
  213. 47  docs/ref/signals.txt
  214. 3  docs/ref/template-response.txt
  215. 7  docs/ref/templates/api.txt
  216. 2  docs/ref/templates/builtins.txt
  217. 28  docs/ref/utils.txt
  218. 2  docs/releases/1.3-alpha-1.txt
  219. 2  docs/releases/1.3.txt
  220. 8  docs/releases/1.4.txt
  221. 269  docs/releases/1.6.txt
  222. 9  docs/releases/index.txt
  223. 8  docs/topics/auth/customizing.txt
  224. 41  docs/topics/cache.txt
  225. 6  docs/topics/class-based-views/generic-display.txt
  226. 1  docs/topics/class-based-views/generic-editing.txt
  227. 8  docs/topics/class-based-views/mixins.txt
  228. 40  docs/topics/db/aggregation.txt
  229. 22  docs/topics/db/managers.txt
  230. 52  docs/topics/db/models.txt
  231. 48  docs/topics/db/queries.txt
  232. 62  docs/topics/db/transactions.txt
  233. 2  docs/topics/files.txt
  234. 29  docs/topics/forms/formsets.txt
  235. 5  docs/topics/forms/media.txt
  236. 69  docs/topics/forms/modelforms.txt
  237. 2  docs/topics/http/file-uploads.txt
  238. 18  docs/topics/http/sessions.txt
  239. 31  docs/topics/http/urls.txt
  240. 28  docs/topics/http/views.txt
  241. 2  docs/topics/i18n/timezones.txt
  242. 48  docs/topics/i18n/translation.txt
  243. 31  docs/topics/logging.txt
  244. 4  docs/topics/python3.txt
  245. 4  docs/topics/testing/advanced.txt
  246. 275  docs/topics/testing/overview.txt
  247. 2  setup.py
  248. 5  tests/admin_changelist/admin.py
  249. 70  tests/admin_changelist/tests.py
  250. 0  tests/{special_headers → admin_docs}/__init__.py
  251. 3  tests/{special_headers → admin_docs}/fixtures/data.xml
  252. 0  tests/admin_docs/models.py
  253. 45  tests/admin_docs/tests.py
  254. 11  tests/admin_docs/urls.py
  255. 10  tests/{special_headers → admin_docs}/views.py
  256. 17  tests/admin_inlines/admin.py
  257. 6  tests/admin_inlines/models.py
  258. 20  tests/admin_inlines/tests.py
  259. 39  tests/admin_scripts/tests.py
  260. 37  tests/admin_util/tests.py
  261. 80  tests/admin_validation/tests.py
  262. 37  tests/admin_views/admin.py
  263. 9  tests/admin_views/models.py
  264. 136  tests/admin_views/tests.py
  265. 12  tests/admin_widgets/tests.py
  266. 8  tests/aggregation_regress/tests.py
  267. 11  tests/backends/tests.py
  268. 4  tests/base/models.py
  269. 8  tests/basic/models.py
  270. 34  tests/basic/tests.py
  271. 44  tests/cache/tests.py
  272. 6  tests/commands_sql/models.py
  273. 36  tests/commands_sql/tests.py
  274. 2  tests/comment_tests/tests/test_comment_form.py
  275. 2  tests/comment_tests/tests/test_templatetags.py
  276. 64  tests/csrf_tests/tests.py
  277. 4  tests/custom_managers/tests.py
  278. 6  tests/datatypes/tests.py
  279. 10  tests/decorators/tests.py
  280. 94  tests/defaultfilters/tests.py
  281. 19  tests/defer_regress/models.py
  282. 124  tests/defer_regress/tests.py
  283. 2  tests/dispatch/tests/test_dispatcher.py
  284. 2  tests/field_defaults/tests.py
  285. 10  tests/field_subclassing/tests.py
  286. 6  tests/file_storage/tests.py
  287. 68  tests/fixtures/tests.py
  288. 9  tests/fixtures_model_package/tests.py
  289. 18  tests/fixtures_regress/tests.py
  290. 5  tests/foreign_object/tests.py
  291. 8  tests/forms_tests/tests/test_extra.py
  292. 9  tests/forms_tests/tests/test_fields.py
  293. 19  tests/forms_tests/tests/test_forms.py
  294. 56  tests/forms_tests/tests/test_formsets.py
  295. 3  tests/forms_tests/tests/test_regressions.py
  296. 42  tests/forms_tests/tests/tests.py
  297. 19  tests/generic_relations/models.py
  298. 140  tests/generic_relations/tests.py
  299. 33  tests/generic_relations_regress/models.py
  300. 103  tests/generic_relations_regress/tests.py
  301. 43  tests/generic_views/test_base.py
  302. 2  tests/generic_views/test_detail.py
33  AUTHORS
@@ -12,18 +12,25 @@ The PRIMARY AUTHORS are (and/or have been):
12 12
     * Luke Plant
13 13
     * Russell Keith-Magee
14 14
     * Robert Wittams
  15
+    * James Bennett
15 16
     * Gary Wilson
  17
+    * Matt Boersma
  18
+    * Ian Kelly
  19
+    * Joseph Kocherhans
16 20
     * Brian Rosner
17 21
     * Justin Bronn
18 22
     * Karen Tracey
19 23
     * Jannis Leidel
20 24
     * James Tauber
21 25
     * Alex Gaynor
  26
+    * Simon Meers
22 27
     * Andrew Godwin
23 28
     * Carl Meyer
24 29
     * Ramiro Morales
  30
+    * Gabriel Hurley
25 31
     * Chris Beaven
26 32
     * Honza Král
  33
+    * Tim Graham
27 34
     * Idan Gazit
28 35
     * Paul McMillan
29 36
     * Julien Phalip
@@ -36,6 +43,7 @@ The PRIMARY AUTHORS are (and/or have been):
36 43
     * Preston Holmes
37 44
     * Simon Charette
38 45
     * Donald Stufft
  46
+    * Daniel Lindsley
39 47
     * Marc Tamlyn
40 48
 
41 49
 More information on the main contributors to Django can be found in
@@ -84,14 +92,15 @@ answer newbie questions, and generally made Django that much better:
84 92
     Randy Barlow <randy@electronsweatshop.com>
85 93
     Scott Barr <scott@divisionbyzero.com.au>
86 94
     Jiri Barton
  95
+    Jorge Bastida <me@jorgebastida.com>
87 96
     Ned Batchelder <http://www.nedbatchelder.com/>
88 97
     batiste@dosimple.ch
89 98
     Batman
90 99
     Brian Beck <http://blog.brianbeck.com/>
91 100
     Shannon -jj Behrens <http://jjinux.blogspot.com/>
92 101
     Esdras Beleza <linux@esdrasbeleza.com>
  102
+    Božidar Benko <bbenko@gmail.com>
93 103
     Chris Bennett <chrisrbennett@yahoo.com>
94  
-    James Bennett
95 104
     Danilo Bargen
96 105
     Shai Berger <shai@platonix.com>
97 106
     berto
@@ -102,9 +111,9 @@ answer newbie questions, and generally made Django that much better:
102 111
     Paul Bissex <http://e-scribe.com/>
103 112
     Loïc Bistuer <loic.bistuer@sixmedia.com>
104 113
     Simon Blanchard
  114
+    Jérémie Blaser <blaserje@gmail.com>
105 115
     Craig Blaszczyk <masterjakul@gmail.com>
106 116
     David Blewett <david@dawninglight.net>
107  
-    Matt Boersma <matt@sprout.org>
108 117
     Artem Gnilov <boobsd@gmail.com>
109 118
     Matías Bordese
110 119
     Nate Bragg <jonathan.bragg@alum.rpi.edu>
@@ -117,6 +126,7 @@ answer newbie questions, and generally made Django that much better:
117 126
     bthomas
118 127
     btoll@bestweb.net
119 128
     Jonathan Buchanan <jonathan.buchanan@gmail.com>
  129
+    Jacob Burch <jacobburch@gmail.com>
120 130
     Keith Bussell <kbussell@gmail.com>
121 131
     C8E
122 132
     Chris Cahoon <chris.cahoon@gmail.com>
@@ -149,6 +159,7 @@ answer newbie questions, and generally made Django that much better:
149 159
     Paul Collins <paul.collins.iii@gmail.com>
150 160
     Robert Coup
151 161
     Deric Crago <deric.crago@gmail.com>
  162
+    Brian Fabian Crain <http://www.bfc.do/>
152 163
     David Cramer <dcramer@gmail.com>
153 164
     Pete Crosier <pete.crosier@gmail.com>
154 165
     Matt Croydon <http://www.postneo.com/>
@@ -156,6 +167,7 @@ answer newbie questions, and generally made Django that much better:
156 167
     Leah Culver <leah.culver@gmail.com>
157 168
     Raúl Cumplido <raulcumplido@gmail.com>
158 169
     flavio.curella@gmail.com
  170
+    Tome Cvitan <tome@cvitan.com>
159 171
     John D'Agostino <john.dagostino@gmail.com>
160 172
     dackze+django@gmail.com
161 173
     Jim Dalton <jim.dalton@gmail.com>
@@ -188,6 +200,7 @@ answer newbie questions, and generally made Django that much better:
188 200
     J. Clifford Dyer <jcd@sdf.lonestar.org>
189 201
     Clint Ecker
190 202
     Nick Efford <nick@efford.org>
  203
+    Marc Egli <frog32@me.com>
191 204
     eibaan@gmail.com
192 205
     David Eklund
193 206
     Julia Elman
@@ -212,6 +225,7 @@ answer newbie questions, and generally made Django that much better:
212 225
     Stefane Fermgier <sf@fermigier.com>
213 226
     J. Pablo Fernandez <pupeno@pupeno.com>
214 227
     Maciej Fijalkowski
  228
+    Leandra Finger <leandra.finger@gmail.com>
215 229
     Juan Pedro Fisanotti <fisadev@gmail.com>
216 230
     Ben Firshman <ben@firshman.co.uk>
217 231
     Matthew Flanagan <http://wadofstuff.blogspot.com>
@@ -239,6 +253,7 @@ answer newbie questions, and generally made Django that much better:
239 253
     pradeep.gowda@gmail.com
240 254
     Collin Grady <collin@collingrady.com>
241 255
     Gabriel Grant <g@briel.ca>
  256
+    Martin Green
242 257
     Daniel Greenfeld
243 258
     Simon Greenhill <dev@simon.net.nz>
244 259
     Owen Griffiths
@@ -268,6 +283,7 @@ answer newbie questions, and generally made Django that much better:
268 283
     Eric Holscher <http://ericholscher.com>
269 284
     Ian Holsman <http://feh.holsman.net/>
270 285
     Kieran Holland <http://www.kieranholland.com>
  286
+    Markus Holtermann <http://markusholtermann.eu>
271 287
     Sung-Jin Hong <serialx.net@gmail.com>
272 288
     Leo "hylje" Honkanen <sealage@gmail.com>
273 289
     Matt Hoskins <skaffenuk@googlemail.com>
@@ -278,7 +294,6 @@ answer newbie questions, and generally made Django that much better:
278 294
     Rob Hudson <http://rob.cogit8.org/>
279 295
     Jason Huggins <http://www.jrandolph.com/blog/>
280 296
     Jeff Hui <jeffkhui@gmail.com>
281  
-    Gabriel Hurley <gabriel@strikeawe.com>
282 297
     Hyun Mi Ae
283 298
     Ibon <ibonso@gmail.com>
284 299
     Tom Insam
@@ -327,12 +342,12 @@ answer newbie questions, and generally made Django that much better:
327 342
     Meir Kriheli <http://mksoft.co.il/>
328 343
     Bruce Kroeze <http://coderseye.com/>
329 344
     krzysiek.pawlik@silvermedia.pl
330  
-    Joseph Kocherhans
331 345
     konrad@gwu.edu
332 346
     knox <christobzr@gmail.com>
333 347
     David Krauth
334 348
     Kevin Kubasik <kevin@kubasik.net>
335 349
     kurtiss@meetro.com
  350
+    Vladimir Kuzma <vladimirkuzma.ch@gmail.com>
336 351
     Denis Kuzmichyov <kuzmichyov@gmail.com>
337 352
     Panos Laganakos <panos.laganakos@gmail.com>
338 353
     Nick Lane <nick.lane.au@gmail.com>
@@ -360,7 +375,6 @@ answer newbie questions, and generally made Django that much better:
360 375
     limodou
361 376
     Philip Lindborg <philip.lindborg@gmail.com>
362 377
     Simon Litchfield <simon@quo.com.au>
363  
-    Daniel Lindsley <daniel@toastdriven.com>
364 378
     Trey Long <trey@ktrl.com>
365 379
     Laurent Luce <http://www.laurentluce.com>
366 380
     Martin Mahner <http://www.mahner.org/>
@@ -399,6 +413,7 @@ answer newbie questions, and generally made Django that much better:
399 413
     Slawek Mikula <slawek dot mikula at gmail dot com>
400 414
     Katie Miller <katie@sub50.com>
401 415
     Shawn Milochik <shawn@milochik.com>
  416
+    Baptiste Mispelon <bmispelon@gmail.com>
402 417
     mitakummaa@gmail.com
403 418
     Taylor Mitchell <taylor.mitchell@gmail.com>
404 419
     mmarshall
@@ -458,6 +473,7 @@ answer newbie questions, and generally made Django that much better:
458 473
     Jyrki Pulliainen <jyrki.pulliainen@gmail.com>
459 474
     Thejaswi Puthraya <thejaswi.puthraya@gmail.com>
460 475
     Johann Queuniet <johann.queuniet@adh.naellia.eu>
  476
+    Ram Rachum <ram@rachum.com>
461 477
     Jan Rademaker
462 478
     Michael Radziej <mir@noris.de>
463 479
     Laurent Rahuel <laurent.rahuel@gmail.com>
@@ -465,6 +481,7 @@ answer newbie questions, and generally made Django that much better:
465 481
     Luciano Ramalho
466 482
     Amit Ramon <amit.ramon@gmail.com>
467 483
     Philippe Raoult <philippe.raoult@n2nsoft.com>
  484
+    Senko Rašić <senko.rasic@dobarkod.hr>
468 485
     Massimiliano Ravelli <massimiliano.ravelli@gmail.com>
469 486
     Brian Ray <http://brianray.chipy.org/>
470 487
     Lee Reilly <lee@leereilly.net>
@@ -480,6 +497,7 @@ answer newbie questions, and generally made Django that much better:
480 497
     Alex Robbins <alexander.j.robbins@gmail.com>
481 498
     Matt Robenolt <m@robenolt.com>
482 499
     Henrique Romano <onaiort@gmail.com>
  500
+    Erik Romijn <django@solidlinks.nl>
483 501
     Armin Ronacher
484 502
     Daniel Roseman <http://roseman.org.uk/>
485 503
     Rozza <ross.lawley@gmail.com>
@@ -499,6 +517,7 @@ answer newbie questions, and generally made Django that much better:
499 517
     Bernd Schlapsi
500 518
     schwank@gmail.com
501 519
     scott@staplefish.com
  520
+    Olivier Sels <olivier.sels@gmail.com>
502 521
     Ilya Semenov <semenov@inetss.com>
503 522
     Aleksandra Sendecka <asendecka@hauru.eu>
504 523
     serbaut@gmail.com
@@ -523,11 +542,13 @@ answer newbie questions, and generally made Django that much better:
523 542
     Don Spaulding <donspauldingii@gmail.com>
524 543
     Calvin Spealman <ironfroggy@gmail.com>
525 544
     Dane Springmeyer
  545
+    Silvan Spross <silvan.spross@gmail.com>
526 546
     Bjørn Stabell <bjorn@exoweb.net>
527 547
     Georgi Stanojevski <glisha@gmail.com>
528 548
     starrynight <cmorgh@gmail.com>
529 549
     Vasiliy Stavenko <stavenko@gmail.com>
530 550
     Thomas Steinacher <http://www.eggdrop.ch/>
  551
+    Emil Stenström <em@kth.se>
531 552
     Johan C. Stöver <johan@nilling.nl>
532 553
     Nowell Strite <http://nowell.strite.org/>
533 554
     Thomas Stromberg <tstromberg@google.com>
@@ -573,12 +594,14 @@ answer newbie questions, and generally made Django that much better:
573 594
     I.S. van Oostveen <v.oostveen@idca.nl>
574 595
     viestards.lists@gmail.com
575 596
     George Vilches <gav@thataddress.com>
  597
+    Simeon Visser <http://simeonvisser.com>
576 598
     Vlado <vlado@labath.org>
577 599
     Zachary Voase <zacharyvoase@gmail.com>
578 600
     Marijn Vriens <marijn@metronomo.cl>
579 601
     Milton Waddams
580 602
     Chris Wagner <cw264701@ohio.edu>
581 603
     Rick Wagner <rwagner@physics.ucsd.edu>
  604
+    Gavin Wahl <gavinwahl@gmail.com>
582 605
     wam-djangobug@wamber.net
583 606
     Wang Chun <wangchun@exoweb.net>
584 607
     Filip Wasilewski <filip.wasilewski@gmail.com>
2  django/__init__.py
... ...
@@ -1,4 +1,4 @@
1  
-VERSION = (1, 6, 0, 'alpha', 0)
  1
+VERSION = (1, 6, 0, 'alpha', 1)
2 2
 
3 3
 def get_version(*args, **kwargs):
4 4
     # Don't litter django/__init__.py with all the get_version stuff.
5  django/conf/__init__.py
@@ -127,7 +127,10 @@ def __init__(self, settings_module):
127 127
         try:
128 128
             mod = importlib.import_module(self.SETTINGS_MODULE)
129 129
         except ImportError as e:
130  
-            raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
  130
+            raise ImportError(
  131
+                "Could not import settings '%s' (Is it on sys.path? Is there an import error in the settings file?): %s"
  132
+                % (self.SETTINGS_MODULE, e)
  133
+            )
131 134
 
132 135
         # Settings that should be converted into tuples if they're mistakenly entered
133 136
         # as strings.
2  django/conf/global_settings.py
@@ -131,7 +131,7 @@
131 131
 )
132 132
 
133 133
 # Languages using BiDi (right-to-left) layout
134  
-LANGUAGES_BIDI = ("he", "ar", "fa")
  134
+LANGUAGES_BIDI = ("he", "ar", "fa", "ur")
135 135
 
136 136
 # If you set this to False, Django will make some optimizations so as not
137 137
 # to load the internationalization machinery.
188  django/conf/locale/en/LC_MESSAGES/django.po
@@ -4,7 +4,7 @@ msgid ""
4 4
 msgstr ""
5 5
 "Project-Id-Version: Django\n"
6 6
 "Report-Msgid-Bugs-To: \n"
7  
-"POT-Creation-Date: 2013-05-02 16:17+0200\n"
  7
+"POT-Creation-Date: 2013-05-25 14:27+0200\n"
8 8
 "PO-Revision-Date: 2010-05-13 15:35+0200\n"
9 9
 "Last-Translator: Django team\n"
10 10
 "Language-Team: English <en@li.org>\n"
@@ -337,7 +337,7 @@ msgstr ""
337 337
 msgid "Enter a valid value."
338 338
 msgstr ""
339 339
 
340  
-#: core/validators.py:53 forms/fields.py:640
  340
+#: core/validators.py:53 forms/fields.py:639
341 341
 msgid "Enter a valid URL."
342 342
 msgstr ""
343 343
 
@@ -362,7 +362,7 @@ msgstr ""
362 362
 msgid "Enter a valid IPv4 or IPv6 address."
363 363
 msgstr ""
364 364
 
365  
-#: core/validators.py:175 db/models/fields/__init__.py:704
  365
+#: core/validators.py:175 db/models/fields/__init__.py:706
366 366
 msgid "Enter only digits separated by commas."
367 367
 msgstr ""
368 368
 
@@ -408,7 +408,7 @@ msgstr[1] ""
408 408
 msgid "%(field_name)s must be unique for %(date_field)s %(lookup)s."
409 409
 msgstr ""
410 410
 
411  
-#: db/models/base.py:905 forms/models.py:605
  411
+#: db/models/base.py:905 forms/models.py:643
412 412
 msgid "and"
413 413
 msgstr ""
414 414
 
@@ -435,156 +435,156 @@ msgstr ""
435 435
 msgid "Field of type: %(field_type)s"
436 436
 msgstr ""
437 437
 
438  
-#: db/models/fields/__init__.py:568 db/models/fields/__init__.py:1034
  438
+#: db/models/fields/__init__.py:570 db/models/fields/__init__.py:1036
439 439
 msgid "Integer"
440 440
 msgstr ""
441 441
 
442  
-#: db/models/fields/__init__.py:572 db/models/fields/__init__.py:1032
  442
+#: db/models/fields/__init__.py:574 db/models/fields/__init__.py:1034
443 443
 #, python-format
444 444
 msgid "'%s' value must be an integer."
445 445
 msgstr ""
446 446
 
447  
-#: db/models/fields/__init__.py:620
  447
+#: db/models/fields/__init__.py:622
448 448
 #, python-format
449 449
 msgid "'%s' value must be either True or False."
450 450
 msgstr ""
451 451
 
452  
-#: db/models/fields/__init__.py:622
  452
+#: db/models/fields/__init__.py:624
453 453
 msgid "Boolean (Either True or False)"
454 454
 msgstr ""
455 455
 
456  
-#: db/models/fields/__init__.py:671
  456
+#: db/models/fields/__init__.py:673
457 457
 #, python-format
458 458
 msgid "String (up to %(max_length)s)"
459 459
 msgstr ""
460 460
 
461  
-#: db/models/fields/__init__.py:699
  461
+#: db/models/fields/__init__.py:701
462 462
 msgid "Comma-separated integers"
463 463
 msgstr ""
464 464
 
465  
-#: db/models/fields/__init__.py:713
  465
+#: db/models/fields/__init__.py:715
466 466
 #, python-format
467 467
 msgid "'%s' value has an invalid date format. It must be in YYYY-MM-DD format."
468 468
 msgstr ""
469 469
 
470  
-#: db/models/fields/__init__.py:715 db/models/fields/__init__.py:803
  470
+#: db/models/fields/__init__.py:717 db/models/fields/__init__.py:805
471 471
 #, python-format
472 472
 msgid ""
473 473
 "'%s' value has the correct format (YYYY-MM-DD) but it is an invalid date."
474 474
 msgstr ""
475 475
 
476  
-#: db/models/fields/__init__.py:718
  476
+#: db/models/fields/__init__.py:720
477 477
 msgid "Date (without time)"
478 478
 msgstr ""
479 479
 
480  
-#: db/models/fields/__init__.py:801
  480
+#: db/models/fields/__init__.py:803
481 481
 #, python-format
482 482
 msgid ""
483 483
 "'%s' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[."
484 484
 "uuuuuu]][TZ] format."
485 485
 msgstr ""
486 486
 
487  
-#: db/models/fields/__init__.py:805
  487
+#: db/models/fields/__init__.py:807
488 488
 #, python-format
489 489
 msgid ""
490 490
 "'%s' value has the correct format (YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ]) but "
491 491
 "it is an invalid date/time."
492 492
 msgstr ""
493 493
 
494  
-#: db/models/fields/__init__.py:809
  494
+#: db/models/fields/__init__.py:811
495 495
 msgid "Date (with time)"
496 496
 msgstr ""
497 497
 
498  
-#: db/models/fields/__init__.py:898
  498
+#: db/models/fields/__init__.py:900
499 499
 #, python-format
500 500
 msgid "'%s' value must be a decimal number."
501 501
 msgstr ""
502 502
 
503  
-#: db/models/fields/__init__.py:900
  503
+#: db/models/fields/__init__.py:902
504 504
 msgid "Decimal number"
505 505
 msgstr ""
506 506
 
507  
-#: db/models/fields/__init__.py:957
  507
+#: db/models/fields/__init__.py:959
508 508
 msgid "Email address"
509 509
 msgstr ""
510 510
 
511  
-#: db/models/fields/__init__.py:976
  511
+#: db/models/fields/__init__.py:978
512 512
 msgid "File path"
513 513
 msgstr ""
514 514
 
515  
-#: db/models/fields/__init__.py:1003
  515
+#: db/models/fields/__init__.py:1005
516 516
 #, python-format
517 517
 msgid "'%s' value must be a float."
518 518
 msgstr ""
519 519
 
520  
-#: db/models/fields/__init__.py:1005
  520
+#: db/models/fields/__init__.py:1007
521 521
 msgid "Floating point number"
522 522
 msgstr ""
523 523
 
524  
-#: db/models/fields/__init__.py:1066
  524
+#: db/models/fields/__init__.py:1068
525 525
 msgid "Big (8 byte) integer"
526 526
 msgstr ""
527 527
 
528  
-#: db/models/fields/__init__.py:1080
  528
+#: db/models/fields/__init__.py:1082
529 529
 msgid "IPv4 address"
530 530
 msgstr ""
531 531
 
532  
-#: db/models/fields/__init__.py:1096
  532
+#: db/models/fields/__init__.py:1098
533 533
 msgid "IP address"
534 534
 msgstr ""
535 535
 
536  
-#: db/models/fields/__init__.py:1139
  536
+#: db/models/fields/__init__.py:1141
537 537
 #, python-format
538 538
 msgid "'%s' value must be either None, True or False."
539 539
 msgstr ""
540 540
 
541  
-#: db/models/fields/__init__.py:1141
  541
+#: db/models/fields/__init__.py:1143
542 542
 msgid "Boolean (Either True, False or None)"
543 543
 msgstr ""
544 544
 
545  
-#: db/models/fields/__init__.py:1190
  545
+#: db/models/fields/__init__.py:1192
546 546
 msgid "Positive integer"
547 547
 msgstr ""
548 548
 
549  
-#: db/models/fields/__init__.py:1201
  549
+#: db/models/fields/__init__.py:1203
550 550
 msgid "Positive small integer"
551 551
 msgstr ""
552 552
 
553  
-#: db/models/fields/__init__.py:1212
  553
+#: db/models/fields/__init__.py:1214
554 554
 #, python-format
555 555
 msgid "Slug (up to %(max_length)s)"
556 556
 msgstr ""
557 557
 
558  
-#: db/models/fields/__init__.py:1230
  558
+#: db/models/fields/__init__.py:1232
559 559
 msgid "Small integer"
560 560
 msgstr ""
561 561
 
562  
-#: db/models/fields/__init__.py:1236
  562
+#: db/models/fields/__init__.py:1238
563 563
 msgid "Text"
564 564
 msgstr ""
565 565
 
566  
-#: db/models/fields/__init__.py:1254
  566
+#: db/models/fields/__init__.py:1256
567 567
 #, python-format
568 568
 msgid ""
569 569
 "'%s' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] format."
570 570
 msgstr ""
571 571
 
572  
-#: db/models/fields/__init__.py:1256
  572
+#: db/models/fields/__init__.py:1258
573 573
 #, python-format
574 574
 msgid ""
575 575
 "'%s' value has the correct format (HH:MM[:ss[.uuuuuu]]) but it is an invalid "
576 576
 "time."
577 577
 msgstr ""
578 578
 
579  
-#: db/models/fields/__init__.py:1259
  579
+#: db/models/fields/__init__.py:1261
580 580
 msgid "Time"
581 581
 msgstr ""
582 582
 
583  
-#: db/models/fields/__init__.py:1321
  583
+#: db/models/fields/__init__.py:1323
584 584
 msgid "URL"
585 585
 msgstr ""
586 586
 
587  
-#: db/models/fields/__init__.py:1338
  587
+#: db/models/fields/__init__.py:1340
588 588
 msgid "Raw binary data"
589 589
 msgstr ""
590 590
 
@@ -596,55 +596,50 @@ msgstr ""
596 596
 msgid "Image"
597 597
 msgstr ""
598 598
 
599  
-#: db/models/fields/related.py:1133
  599
+#: db/models/fields/related.py:1118
600 600
 #, python-format
601 601
 msgid "Model %(model)s with pk %(pk)r does not exist."
602 602
 msgstr ""
603 603
 
604  
-#: db/models/fields/related.py:1135
  604
+#: db/models/fields/related.py:1120
605 605
 msgid "Foreign Key (type determined by related field)"
606 606
 msgstr ""
607 607
 
608  
-#: db/models/fields/related.py:1272
  608
+#: db/models/fields/related.py:1257
609 609
 msgid "One-to-one relationship"
610 610
 msgstr ""
611 611
 
612  
-#: db/models/fields/related.py:1339
  612
+#: db/models/fields/related.py:1324
613 613
 msgid "Many-to-many relationship"
614 614
 msgstr ""
615 615
 
616  
-#: db/models/fields/related.py:1366
617  
-msgid ""
618  
-"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
619  
-msgstr ""
620  
-
621 616
 #: forms/fields.py:56
622 617
 msgid "This field is required."
623 618
 msgstr ""
624 619
 
625  
-#: forms/fields.py:225
  620
+#: forms/fields.py:227
626 621
 msgid "Enter a whole number."
627 622
 msgstr ""
628 623
 
629  
-#: forms/fields.py:266 forms/fields.py:294
  624
+#: forms/fields.py:268 forms/fields.py:296
630 625
 msgid "Enter a number."
631 626
 msgstr ""
632 627
 
633  
-#: forms/fields.py:296
  628
+#: forms/fields.py:298
634 629
 #, python-format
635 630
 msgid "Ensure that there are no more than %(max)s digit in total."
636 631
 msgid_plural "Ensure that there are no more than %(max)s digits in total."
637 632
 msgstr[0] ""
638 633
 msgstr[1] ""
639 634
 
640  
-#: forms/fields.py:300
  635
+#: forms/fields.py:302
641 636
 #, python-format
642 637
 msgid "Ensure that there are no more than %(max)s decimal place."
643 638
 msgid_plural "Ensure that there are no more than %(max)s decimal places."
644 639
 msgstr[0] ""
645 640
 msgstr[1] ""
646 641
 
647  
-#: forms/fields.py:304
  642
+#: forms/fields.py:306
648 643
 #, python-format
649 644
 msgid ""
650 645
 "Ensure that there are no more than %(max)s digit before the decimal point."
@@ -653,31 +648,31 @@ msgid_plural ""
653 648
 msgstr[0] ""
654 649
 msgstr[1] ""
655 650
 
656  
-#: forms/fields.py:406 forms/fields.py:1058
  651
+#: forms/fields.py:408 forms/fields.py:1064
657 652
 msgid "Enter a valid date."
658 653
 msgstr ""
659 654
 
660  
-#: forms/fields.py:430 forms/fields.py:1059
  655
+#: forms/fields.py:432 forms/fields.py:1065
661 656
 msgid "Enter a valid time."
662 657
 msgstr ""
663 658
 
664  
-#: forms/fields.py:451
  659
+#: forms/fields.py:454
665 660
 msgid "Enter a valid date/time."
666 661
 msgstr ""
667 662
 
668  
-#: forms/fields.py:525
  663
+#: forms/fields.py:531
669 664
 msgid "No file was submitted. Check the encoding type on the form."
670 665
 msgstr ""
671 666
 
672  
-#: forms/fields.py:526
  667
+#: forms/fields.py:532
673 668
 msgid "No file was submitted."
674 669
 msgstr ""
675 670
 
676  
-#: forms/fields.py:527
  671
+#: forms/fields.py:533
677 672
 msgid "The submitted file is empty."
678 673
 msgstr ""
679 674
 
680  
-#: forms/fields.py:529
  675
+#: forms/fields.py:535
681 676
 #, python-format
682 677
 msgid "Ensure this filename has at most %(max)d character (it has %(length)d)."
683 678
 msgid_plural ""
@@ -685,22 +680,22 @@ msgid_plural ""
685 680
 msgstr[0] ""
686 681
 msgstr[1] ""
687 682
 
688  
-#: forms/fields.py:532
  683
+#: forms/fields.py:538
689 684
 msgid "Please either submit a file or check the clear checkbox, not both."
690 685
 msgstr ""
691 686
 
692  
-#: forms/fields.py:593
  687
+#: forms/fields.py:599
693 688
 msgid ""
694 689
 "Upload a valid image. The file you uploaded was either not an image or a "
695 690
 "corrupted image."
696 691
 msgstr ""
697 692
 
698  
-#: forms/fields.py:746 forms/fields.py:824 forms/models.py:1042
  693
+#: forms/fields.py:749 forms/fields.py:828 forms/models.py:1096
699 694
 #, python-format
700 695
 msgid "Select a valid choice. %(value)s is not one of the available choices."
701 696
 msgstr ""
702 697
 
703  
-#: forms/fields.py:825 forms/fields.py:928 forms/models.py:1041
  698
+#: forms/fields.py:829 forms/fields.py:933 forms/models.py:1095
704 699
 msgid "Enter a list of values."
705 700
 msgstr ""
706 701
 
@@ -709,53 +704,60 @@ msgstr ""
709 704
 msgid "(Hidden field %(name)s) %(error)s"
710 705
 msgstr ""
711 706
 
712  
-#: forms/formsets.py:305
  707
+#: forms/formsets.py:310
713 708
 #, python-format
714  
-msgid "Please submit %s or fewer forms."
715  
-msgstr ""
  709
+msgid "Please submit %d or fewer forms."
  710
+msgid_plural "Please submit %d or fewer forms."
  711
+msgstr[0] ""
  712
+msgstr[1] ""
716 713
 
717  
-#: forms/formsets.py:331 forms/formsets.py:333
  714
+#: forms/formsets.py:337 forms/formsets.py:339
718 715
 msgid "Order"
719 716
 msgstr ""
720 717
 
721  
-#: forms/formsets.py:335
  718
+#: forms/formsets.py:341
722 719
 msgid "Delete"
723 720
 msgstr ""
724 721
 
725  
-#: forms/models.py:599
  722
+#: forms/models.py:637
726 723
 #, python-format
727 724
 msgid "Please correct the duplicate data for %(field)s."
728 725
 msgstr ""
729 726
 
730  
-#: forms/models.py:603
  727
+#: forms/models.py:641
731 728
 #, python-format
732 729
 msgid "Please correct the duplicate data for %(field)s, which must be unique."
733 730
 msgstr ""
734 731
 
735  
-#: forms/models.py:609
  732
+#: forms/models.py:647
736 733
 #, python-format
737 734
 msgid ""
738 735
 "Please correct the duplicate data for %(field_name)s which must be unique "
739 736
 "for the %(lookup)s in %(date_field)s."
740 737
 msgstr ""
741 738
 
742  
-#: forms/models.py:617
  739
+#: forms/models.py:655
743 740
 msgid "Please correct the duplicate values below."
744 741
 msgstr ""
745 742
 
746  
-#: forms/models.py:883
  743
+#: forms/models.py:937
747 744
 msgid "The inline foreign key did not match the parent instance primary key."
748 745
 msgstr ""
749 746
 
750  
-#: forms/models.py:947
  747
+#: forms/models.py:1001
751 748
 msgid "Select a valid choice. That choice is not one of the available choices."
752 749
 msgstr ""
753 750
 
754  
-#: forms/models.py:1044
  751
+#: forms/models.py:1098
755 752
 #, python-format
756 753
 msgid "\"%(pk)s\" is not a valid value for a primary key."
757 754
 msgstr ""
758 755
 
  756
+#: forms/models.py:1109
  757
+msgid ""
  758
+"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
  759
+msgstr ""
  760
+
759 761
 #: forms/util.py:84
760 762
 #, python-format
761 763
 msgid ""
@@ -791,34 +793,34 @@ msgstr ""
791 793
 msgid "yes,no,maybe"
792 794
 msgstr ""
793 795
 
794  
-#: template/defaultfilters.py:813 template/defaultfilters.py:824
  796
+#: template/defaultfilters.py:813 template/defaultfilters.py:825
795 797
 #, python-format
796 798
 msgid "%(size)d byte"
797 799
 msgid_plural "%(size)d bytes"
798 800
 msgstr[0] ""
799 801
 msgstr[1] ""
800 802
 
801  
-#: template/defaultfilters.py:826
  803
+#: template/defaultfilters.py:827
802 804
 #, python-format
803 805
 msgid "%s KB"
804 806
 msgstr ""
805 807
 
806  
-#: template/defaultfilters.py:828
  808
+#: template/defaultfilters.py:829
807 809
 #, python-format
808 810
 msgid "%s MB"
809 811
 msgstr ""
810 812
 
811  
-#: template/defaultfilters.py:830
  813
+#: template/defaultfilters.py:831
812 814
 #, python-format
813 815
 msgid "%s GB"
814 816
 msgstr ""
815 817
 
816  
-#: template/defaultfilters.py:832
  818
+#: template/defaultfilters.py:833
817 819
 #, python-format
818 820
 msgid "%s TB"
819 821
 msgstr ""
820 822
 
821  
-#: template/defaultfilters.py:833
  823
+#: template/defaultfilters.py:835
822 824
 #, python-format
823 825
 msgid "%s PB"
824 826
 msgstr ""
@@ -1119,6 +1121,16 @@ msgctxt "alt. month"
1119 1121
 msgid "December"
1120 1122
 msgstr ""
1121 1123
 
  1124
+#: utils/image.py:105
  1125
+#, python-format
  1126
+msgid "Neither Pillow nor PIL could be imported: %s"
  1127
+msgstr ""
  1128
+
  1129
+#: utils/image.py:127
  1130
+#, python-format
  1131
+msgid "The '_imaging' module for the PIL could not be imported: %s"
  1132
+msgstr ""
  1133
+
1122 1134
 #: utils/text.py:70
1123 1135
 #, python-format
1124 1136
 msgctxt "String to return when truncating text"
@@ -1130,53 +1142,53 @@ msgid "or"
1130 1142
 msgstr ""
1131 1143
 
1132 1144
 #. Translators: This string is used as a separator between list elements
1133  
-#: utils/text.py:242 utils/timesince.py:54
  1145
+#: utils/text.py:242 utils/timesince.py:55
1134 1146
 msgid ", "
1135 1147
 msgstr ""
1136 1148
 
1137  
-#: utils/timesince.py:22
  1149
+#: utils/timesince.py:23
1138 1150
 #, python-format
1139 1151
 msgid "%d year"
1140 1152
 msgid_plural "%d years"
1141 1153
 msgstr[0] ""
1142 1154
 msgstr[1] ""
1143 1155
 
1144  
-#: utils/timesince.py:23
  1156
+#: utils/timesince.py:24
1145 1157
 #, python-format
1146 1158
 msgid "%d month"
1147 1159
 msgid_plural "%d months"
1148 1160
 msgstr[0] ""
1149 1161
 msgstr[1] ""
1150 1162
 
1151  
-#: utils/timesince.py:24
  1163
+#: utils/timesince.py:25
1152 1164
 #, python-format
1153 1165
 msgid "%d week"
1154 1166
 msgid_plural "%d weeks"
1155 1167
 msgstr[0] ""
1156 1168
 msgstr[1] ""
1157 1169
 
1158  
-#: utils/timesince.py:25
  1170
+#: utils/timesince.py:26
1159 1171
 #, python-format
1160 1172
 msgid "%d day"
1161 1173
 msgid_plural "%d days"
1162 1174
 msgstr[0] ""
1163 1175
 msgstr[1] ""
1164 1176
 
1165  
-#: utils/timesince.py:26
  1177
+#: utils/timesince.py:27
1166 1178
 #, python-format
1167 1179
 msgid "%d hour"
1168 1180
 msgid_plural "%d hours"
1169 1181
 msgstr[0] ""
1170 1182
 msgstr[1] ""
1171 1183
 
1172  
-#: utils/timesince.py:27
  1184
+#: utils/timesince.py:28
1173 1185
 #, python-format
1174 1186
 msgid "%d minute"
1175 1187
 msgid_plural "%d minutes"
1176 1188
 msgstr[0] ""
1177 1189
 msgstr[1] ""
1178 1190
 
1179  
-#: utils/timesince.py:43
  1191
+#: utils/timesince.py:44
1180 1192
 msgid "0 minutes"
1181 1193
 msgstr ""
1182 1194
 
3  django/conf/urls/__init__.py
@@ -5,8 +5,9 @@
5 5
 from django.utils import six
6 6
 
7 7
 
8  
-__all__ = ['handler403', 'handler404', 'handler500', 'include', 'patterns', 'url']
  8
+__all__ = ['handler400', 'handler403', 'handler404', 'handler500', 'include', 'patterns', 'url']
9 9
 
  10
+handler400 = 'django.views.defaults.bad_request'
10 11
 handler403 = 'django.views.defaults.permission_denied'
11 12
 handler404 = 'django.views.defaults.page_not_found'
12 13
 handler500 = 'django.views.defaults.server_error'
6  django/contrib/admin/exceptions.py
... ...
@@ -0,0 +1,6 @@
  1
+from django.core.exceptions import SuspiciousOperation
  2
+
  3
+
  4
+class DisallowedModelAdminLookup(SuspiciousOperation):
  5
+    """Invalid filter was passed to admin view via URL querystring"""
  6
+    pass
2  django/contrib/admin/filters.py
@@ -216,7 +216,7 @@ def choices(self, cl):
216 216
             }
217 217
 
218 218
 FieldListFilter.register(lambda f: (
219  
-        hasattr(f, 'rel') and bool(f.rel) or
  219
+        bool(f.rel) if hasattr(f, 'rel') else
220 220
         isinstance(f, models.related.RelatedObject)), RelatedFieldListFilter)
221 221
 
222 222
 
4  django/contrib/admin/helpers.py
@@ -131,7 +131,7 @@ def label_tag(self):
131 131
             classes.append('required')
132 132
         if not self.is_first:
133 133
             classes.append('inline')
134  
-        attrs = classes and {'class': ' '.join(classes)} or {}
  134
+        attrs = {'class': ' '.join(classes)} if classes else {}
135 135
         return self.field.label_tag(contents=mark_safe(contents), attrs=attrs)
136 136
 
137 137
     def errors(self):
@@ -144,7 +144,7 @@ def __init__(self, form, field, is_first, model_admin=None):
144 144
         # {{ field.name }} must be a useful class name to identify the field.
145 145
         # For convenience, store other field-related data here too.
146 146
         if callable(field):
147  
-            class_name = field.__name__ != '<lambda>' and field.__name__ or ''
  147
+            class_name = field.__name__ if field.__name__ != '<lambda>' else ''
148 148
         else:
149 149
             class_name = field
150 150
         self.field = {
81  django/contrib/admin/locale/en/LC_MESSAGES/django.po
@@ -4,7 +4,7 @@ msgid ""
4 4
 msgstr ""
5 5
 "Project-Id-Version: Django\n"
6 6
 "Report-Msgid-Bugs-To: \n"
7  
-"POT-Creation-Date: 2013-05-02 16:18+0200\n"
  7
+"POT-Creation-Date: 2013-05-25 14:19+0200\n"
8 8
 "PO-Revision-Date: 2010-05-13 15:35+0200\n"
9 9
 "Last-Translator: Django team\n"
10 10
 "Language-Team: English <en@li.org>\n"
@@ -18,12 +18,12 @@ msgstr ""
18 18
 msgid "Successfully deleted %(count)d %(items)s."
19 19
 msgstr ""
20 20
 
21  
-#: actions.py:61 options.py:1365
  21
+#: actions.py:61 options.py:1418
22 22
 #, python-format
23 23
 msgid "Cannot delete %(name)s"
24 24
 msgstr ""
25 25
 
26  
-#: actions.py:63 options.py:1367
  26
+#: actions.py:63 options.py:1420
27 27
 msgid "Are you sure?"
28 28
 msgstr ""
29 29
 
@@ -130,157 +130,157 @@ msgstr ""
130 130
 msgid "LogEntry Object"
131 131
 msgstr ""
132 132
 
133  
-#: options.py:163 options.py:192
  133
+#: options.py:173 options.py:202
134 134
 msgid "None"
135 135
 msgstr ""
136 136
 
137  
-#: options.py:710
  137
+#: options.py:763
138 138
 #, python-format
139 139
 msgid "Changed %s."
140 140
 msgstr ""
141 141
 
142  
-#: options.py:710 options.py:720 options.py:1514
  142
+#: options.py:763 options.py:773 options.py:1570
143 143
 msgid "and"
144 144
 msgstr ""
145 145
 
146  
-#: options.py:715
  146
+#: options.py:768
147 147
 #, python-format
148 148
 msgid "Added %(name)s \"%(object)s\"."
149 149
 msgstr ""
150 150
 
151  
-#: options.py:719
  151
+#: options.py:772
152 152
 #, python-format
153 153
 msgid "Changed %(list)s for %(name)s \"%(object)s\"."
154 154
 msgstr ""
155 155
 
156  
-#: options.py:724
  156
+#: options.py:777
157 157
 #, python-format
158 158
 msgid "Deleted %(name)s \"%(object)s\"."
159 159
 msgstr ""
160 160
 
161  
-#: options.py:728
  161
+#: options.py:781
162 162
 msgid "No fields changed."
163 163
 msgstr ""
164 164
 
165  
-#: options.py:831 options.py:874
  165
+#: options.py:884 options.py:927
166 166
 #, python-format
167 167
 msgid ""
168 168
 "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
169 169
 msgstr ""
170 170
 
171  
-#: options.py:849
  171
+#: options.py:902
172 172
 #, python-format
173 173
 msgid ""
174 174
 "The %(name)s \"%(obj)s\" was added successfully. You may add another "
175 175
 "%(name)s below."
176 176
 msgstr ""
177 177
 
178  
-#: options.py:853
  178
+#: options.py:906
179 179
 #, python-format
180 180
 msgid "The %(name)s \"%(obj)s\" was added successfully."
181 181
 msgstr ""
182 182
 
183  
-#: options.py:867
  183
+#: options.py:920
184 184
 #, python-format
185 185
 msgid ""
186 186
 "The %(name)s \"%(obj)s\" was changed successfully. You may edit it again "
187 187
 "below."
188 188
 msgstr ""
189 189
 
190  
-#: options.py:881