Re: [Django] #13398: reverse() causes exception if run in views.py, outside of a view.

2010-04-21 Thread Django
#13398: reverse() causes exception if run in views.py, outside of a view.
+---
  Reporter:  cbarnell   | Owner:  nobody
Status:  closed | Milestone:  1.2   
 Component:  Uncategorized  |   Version:  SVN   
Resolution:  invalid|  Keywords:
 Stage:  Unreviewed | Has_patch:  0 
Needs_docs:  0  |   Needs_tests:  0 
Needs_better_patch:  0  |  
+---
Changes (by cbarnell):

  * status:  new => closed
  * resolution:  => invalid

Comment:

 Oops.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13398: reverse() causes exception if run in views.py, outside of a view.

2010-04-21 Thread Django
#13398: reverse() causes exception if run in views.py, outside of a view.
+---
  Reporter:  cbarnell   | Owner:  nobody
Status:  new| Milestone:  1.2   
 Component:  Uncategorized  |   Version:  SVN   
Resolution: |  Keywords:
 Stage:  Unreviewed | Has_patch:  0 
Needs_docs:  0  |   Needs_tests:  0 
Needs_better_patch:  0  |  
+---
Changes (by cbarnell):

  * needs_better_patch:  => 0
  * needs_tests:  => 0
  * needs_docs:  => 0

Comment:

 Update: Whatever views.py module you do this in, the exception will state
 the last view in that module.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #13398: reverse() causes exception if run in views.py, outside of a view.

2010-04-21 Thread Django
#13398: reverse() causes exception if run in views.py, outside of a view.
---+
 Reporter:  cbarnell   |   Owner:  nobody
   Status:  new|   Milestone:  1.2   
Component:  Uncategorized  | Version:  SVN   
 Keywords: |   Stage:  Unreviewed
Has_patch:  0  |  
---+
 Running reverse('my_url_conf_name') inside of views.py will raise
 ViewDoesNotExist exception.

 Example:


 {{{
 # myproject.apps.someapp.views.py
 from django.core.urlresolvers import reverse

 foo_url = reverse('foo_view')

 def spam_view():
 return HttpResponse('Hello World')


 # Running any view in this module will raise something like:
 # "Tried spam_view in module myproject.apps.someapp.views. Error was:
 'module' object has no attribute 'spam_view'"
 # Notice that 'spam_view' isn't even the view I passed in, and in fact if
 I delete the call to reverse() I can visit the 'spam_view' and it works
 fine.
 # If I put the call to reverse('foo_view') inside of a view, and visit
 that view to render the url out to a page, it works just fine.
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #13397: Include third level headings in the document TOC

2010-04-21 Thread Django
#13397: Include third level headings in the document TOC
---+
 Reporter:  cyang  |   Owner:  nobody
   Status:  new|   Milestone:
Component:  Documentation  | Version:  1.1   
 Keywords: |   Stage:  Unreviewed
Has_patch:  0  |  
---+
 The TOC (http://docs.djangoproject.com/en/1.1/contents/) would be more
 helpful if it included third level headings, e.g.
 {{{
 ...
 * Using Django
   * How to install Django
   * Models and databases
 # Adding the following
 # v
 * Models
 * Making queries
 * Aggregation
 * Managers
 * Performing raw SQL queries
 * Managing database transactions
 * Database access optimization
 # 
   * Handling HTTP requests
 # Also the following.
 * URL dispatcher
 * Writing Views
 * File Uploads
 * Django shortcut functions
 * Generic views
 * Middleware
 * How to use sessions
 ...
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13018 - django/branches/releases/1.1.X/tests/regressiontests/introspection

2010-04-21 Thread noreply
Author: kmtracey
Date: 2010-04-21 19:00:19 -0500 (Wed, 21 Apr 2010)
New Revision: 13018

Modified:
   django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py
Log:
[1.1.X] Python 2.3 compatibility: we still need the special sets import here.


Modified: 
django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py
===
--- django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py 
2010-04-21 23:50:00 UTC (rev 13017)
+++ django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py 
2010-04-22 00:00:19 UTC (rev 13018)
@@ -5,6 +5,11 @@
 
 from models import Reporter, Article
 
+try:
+set
+except NameError:
+from sets import Set as set # Python 2.3 fallback
+
 #
 # The introspection module is optional, so methods tested here might raise
 # NotImplementedError. This is perfectly acceptable behavior for the backend

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13017 - in django/branches/releases/1.1.X: django/db/backends/sqlite3 tests/regressiontests/introspection

2010-04-21 Thread noreply
Author: russellm
Date: 2010-04-21 18:50:00 -0500 (Wed, 21 Apr 2010)
New Revision: 13017

Modified:
   django/branches/releases/1.1.X/django/db/backends/sqlite3/introspection.py
   django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py
Log:
[1.1.X] Fixed #13396 -- Modified the SQLite introspection code to avoid a 
problem with unconsumed cursors on PyPy. Thanks to Alex Gaynor for the report 
and fix.

Backport of r13016 from trunk.

Modified: 
django/branches/releases/1.1.X/django/db/backends/sqlite3/introspection.py
===
--- django/branches/releases/1.1.X/django/db/backends/sqlite3/introspection.py  
2010-04-21 23:43:35 UTC (rev 13016)
+++ django/branches/releases/1.1.X/django/db/backends/sqlite3/introspection.py  
2010-04-21 23:50:00 UTC (rev 13017)
@@ -65,7 +65,7 @@
 relations = {}
 
 # Schema for this table
-cursor.execute("SELECT sql FROM sqlite_master WHERE tbl_name = %s", 
[table_name])
+cursor.execute("SELECT sql FROM sqlite_master WHERE tbl_name = %s AND 
type = %s", [table_name, "table"])
 results = cursor.fetchone()[0].strip()
 results = results[results.index('(')+1:results.rindex(')')]
 

Modified: 
django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py
===
--- django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py 
2010-04-21 23:43:35 UTC (rev 13016)
+++ django/branches/releases/1.1.X/tests/regressiontests/introspection/tests.py 
2010-04-21 23:50:00 UTC (rev 13017)
@@ -5,11 +5,6 @@
 
 from models import Reporter, Article
 
-try:
-set
-except NameError:
-from sets import Set as set # Python 2.3 fallback
-
 #
 # The introspection module is optional, so methods tested here might raise
 # NotImplementedError. This is perfectly acceptable behavior for the backend
@@ -76,8 +71,10 @@
 def test_get_table_description_types(self):
 cursor = connection.cursor()
 desc = connection.introspection.get_table_description(cursor, 
Reporter._meta.db_table)
-self.assertEqual([datatype(r[1], r) for r in desc],
-  ['IntegerField', 'CharField', 'CharField', 
'CharField'])
+self.assertEqual(
+[datatype(r[1], r) for r in desc],
+['IntegerField', 'CharField', 'CharField', 'CharField']
+)
 
 # Regression test for #9991 - 'real' types in postgres
 if settings.DATABASE_ENGINE.startswith('postgresql'):

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  closed| Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:  fixed |  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by russellm):

 Patrys - If you're referring to the 'number2=1' duplication, Karen fixed
 that in [13014].

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13016 - in django/trunk: django/db/backends/sqlite3 tests/regressiontests/introspection

2010-04-21 Thread noreply
Author: russellm
Date: 2010-04-21 18:43:35 -0500 (Wed, 21 Apr 2010)
New Revision: 13016

Modified:
   django/trunk/django/db/backends/sqlite3/introspection.py
   django/trunk/tests/regressiontests/introspection/tests.py
Log:
Fixed #13396 -- Modified the SQLite introspection code to avoid a problem with 
unconsumed cursors on PyPy. Thanks to Alex Gaynor for the report and fix.

Modified: django/trunk/django/db/backends/sqlite3/introspection.py
===
--- django/trunk/django/db/backends/sqlite3/introspection.py2010-04-21 
19:12:39 UTC (rev 13015)
+++ django/trunk/django/db/backends/sqlite3/introspection.py2010-04-21 
23:43:35 UTC (rev 13016)
@@ -66,7 +66,7 @@
 relations = {}
 
 # Schema for this table
-cursor.execute("SELECT sql FROM sqlite_master WHERE tbl_name = %s", 
[table_name])
+cursor.execute("SELECT sql FROM sqlite_master WHERE tbl_name = %s AND 
type = %s", [table_name, "table"])
 results = cursor.fetchone()[0].strip()
 results = results[results.index('(')+1:results.rindex(')')]
 

Modified: django/trunk/tests/regressiontests/introspection/tests.py
===
--- django/trunk/tests/regressiontests/introspection/tests.py   2010-04-21 
19:12:39 UTC (rev 13015)
+++ django/trunk/tests/regressiontests/introspection/tests.py   2010-04-21 
23:43:35 UTC (rev 13016)
@@ -5,11 +5,6 @@
 
 from models import Reporter, Article
 
-try:
-set
-except NameError:
-from sets import Set as set # Python 2.3 fallback
-
 #
 # The introspection module is optional, so methods tested here might raise
 # NotImplementedError. This is perfectly acceptable behavior for the backend
@@ -76,8 +71,10 @@
 def test_get_table_description_types(self):
 cursor = connection.cursor()
 desc = connection.introspection.get_table_description(cursor, 
Reporter._meta.db_table)
-self.assertEqual([datatype(r[1], r) for r in desc],
-  ['IntegerField', 'CharField', 'CharField', 
'CharField', 'BigIntegerField'])
+self.assertEqual(
+[datatype(r[1], r) for r in desc],
+['IntegerField', 'CharField', 'CharField', 'CharField', 
'BigIntegerField']
+)
 
 # Regression test for #9991 - 'real' types in postgres
 if 
settings.DATABASES[DEFAULT_DB_ALIAS]['ENGINE'].startswith('django.db.backends.postgresql'):

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #13396: SQLite relationship introspector fails under PyPy

2010-04-21 Thread Django
#13396: SQLite relationship introspector fails under PyPy
--+-
 Reporter:  Alex  |   Owner:  nobody
   Status:  new   |   Milestone:  1.2   
Component:  Database layer (models, ORM)  | Version:  SVN   
 Keywords:|   Stage:  Unreviewed
Has_patch:  1 |  
--+-
 Since it leaves an unconsumed cursor, luckily there's a solution!

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13395: admin | Incomplete behavior of unregister() | unregistering foo.Bar and registering refoo.Bar with app_label results in original foo.Bar

2010-04-21 Thread Django
#13395: admin | Incomplete behavior of unregister() | unregistering foo.Bar and
registering refoo.Bar with app_label results in original foo.Bar
---+
  Reporter:  subsume   | Owner:  nobody  
Status:  new   | Milestone:  
 Component:  Contrib apps  |   Version:  1.2-beta
Resolution:|  Keywords:  admin unregister
 Stage:  Unreviewed| Has_patch:  0   
Needs_docs:  0 |   Needs_tests:  0   
Needs_better_patch:  0 |  
---+
Changes (by Alex):

  * needs_better_patch:  => 0
  * needs_tests:  => 0
  * needs_docs:  => 0

Old description:

> I have app 'agency' which has model Settings and with an admin which
> registers it. This serves as a default.
>
> I attempted to override these settings in the admin of another project's
> 'agency_local' app. Steps I took:
>
> -unregister agency.Settings in agency_local.admin
> -register agency_local.Settings # works ok, but in admin it shows up
> under Agency_local list
> -added "agency" as 'app_label' to agency_local.Settings # results in the
> original unregistered settings showing up again!

New description:

 I have app 'agency' which has model Settings and with an admin which
 registers it. This serves as a default.

 I attempted to override these settings in the admin of another project's
 'agency_local' app. Steps I took:

  * unregister agency.Settings in agency_local.admin
  * register agency_local.Settings # works ok, but in admin it shows up
 under Agency_local list
  * added "agency" as 'app_label' to agency_local.Settings # results in the
 original unregistered settings showing up again!

Comment:

 Please use preview ;)

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #13395: admin | Incomplete behavior of unregister() | unregistering foo.Bar and registering refoo.Bar with app_label results in original foo.Bar

2010-04-21 Thread Django
#13395: admin | Incomplete behavior of unregister() | unregistering foo.Bar and
registering refoo.Bar with app_label results in original foo.Bar
--+-
 Reporter:  subsume   |   Owner:  nobody
   Status:  new   |   Milestone:
Component:  Contrib apps  | Version:  1.2-beta  
 Keywords:  admin unregister  |   Stage:  Unreviewed
Has_patch:  0 |  
--+-
 I have app 'agency' which has model Settings and with an admin which
 registers it. This serves as a default.

 I attempted to override these settings in the admin of another project's
 'agency_local' app. Steps I took:

 -unregister agency.Settings in agency_local.admin
 -register agency_local.Settings # works ok, but in admin it shows up under
 Agency_local list
 -added "agency" as 'app_label' to agency_local.Settings # results in the
 original unregistered settings showing up again!

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #7539: Add ON DELETE and ON UPDATE support to Django

2010-04-21 Thread Django
#7539: Add ON DELETE and ON UPDATE support to Django
---+
  Reporter:  glassfordm| Owner: 
Status:  new   | Milestone: 
 Component:  Database layer (models, ORM)  |   Version:  SVN
Resolution:|  Keywords:  feature
 Stage:  Design decision needed| Has_patch:  1  
Needs_docs:  1 |   Needs_tests:  0  
Needs_better_patch:  0 |  
---+
Changes (by gonz):

 * cc: gonz (added)

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #10060: Multiple table annotation failure

2010-04-21 Thread Django
#10060: Multiple table annotation failure
--+-
  Reporter:  svsha...@intellecap.net  | Owner: 
Status:  new  | Milestone: 
 Component:  ORM aggregation  |   Version:  SVN
Resolution:   |  Keywords: 
 Stage:  Accepted | Has_patch:  0  
Needs_docs:  0|   Needs_tests:  0  
Needs_better_patch:  0|  
--+-
Comment (by fas):

 I also just ran into this bug and it almost went unnoticed. An exception
 would indeed be very nice indicating that this does not work yet.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13392: Bug introduced with #12977 : can't copy fields with metaclass

2010-04-21 Thread Django
#13392: Bug introduced with #12977 : can't copy fields with metaclass
---+
  Reporter:  Twidi | Owner:  nobody  
Status:  closed| Milestone:  1.2 
 Component:  Database layer (models, ORM)  |   Version:  1.2-beta
Resolution:  invalid   |  Keywords:  
 Stage:  Unreviewed| Has_patch:  0   
Needs_docs:  0 |   Needs_tests:  0   
Needs_better_patch:  0 |  
---+
Comment (by gabrielhurley):

 Ah, my apologies. I missed #13328 being reopened. I thought it had stayed
 fixed despite the other tickets being opened thereafter. Well, either way,
 [13013] will hopefully take care of it.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13015 - django/trunk/tests/modeltests/model_forms

2010-04-21 Thread noreply
Author: kmtracey
Date: 2010-04-21 14:12:39 -0500 (Wed, 21 Apr 2010)
New Revision: 13015

Modified:
   django/trunk/tests/modeltests/model_forms/models.py
Log:
Fixed the model_forms doctests to not depend on writer PKs, which are 
db-dependent after r12797.


Modified: django/trunk/tests/modeltests/model_forms/models.py
===
--- django/trunk/tests/modeltests/model_forms/models.py 2010-04-21 18:07:23 UTC 
(rev 13014)
+++ django/trunk/tests/modeltests/model_forms/models.py 2010-04-21 19:12:39 UTC 
(rev 13015)
@@ -523,10 +523,10 @@
 ValueError: The Category could not be created because the data didn't validate.
 
 Create a couple of Writers.
->>> w = Writer(name='Mike Royko')
->>> w.save()
->>> w = Writer(name='Bob Woodward')
->>> w.save()
+>>> w_royko = Writer(name='Mike Royko')
+>>> w_royko.save()
+>>> w_woodward = Writer(name='Bob Woodward')
+>>> w_woodward.save()
 
 ManyToManyFields are represented by a MultipleChoiceField, ForeignKeys and any
 fields with the 'choices' attribute are represented by a ChoiceField.
@@ -540,8 +540,8 @@
 Pub date:
 Writer:
 -
-Mike Royko
-Bob Woodward
+Mike Royko
+Bob Woodward
 
 Article:
 Status:
@@ -595,8 +595,8 @@
 Pub date: 
 Writer: 
 -
-Mike Royko
-Bob Woodward
+Mike Royko
+Bob Woodward
 
 Article: Hello.
 Status: 
@@ -610,7 +610,7 @@
 It's a test
 Third test
   Hold down "Control", or "Command" on a Mac, to select more than 
one.
->>> f = TestArticleForm({'headline': u'Test headline', 'slug': 
'test-headline', 'pub_date': u'1984-02-06', 'writer': u'1', 'article': 
'Hello.'}, instance=art)
+>>> f = TestArticleForm({'headline': u'Test headline', 'slug': 
'test-headline', 'pub_date': u'1984-02-06', 'writer': unicode(w_royko.pk), 
'article': 'Hello.'}, instance=art)
 >>> f.errors
 {}
 >>> f.is_valid()
@@ -658,8 +658,8 @@
 Pub date: 
 Writer: 
 -
-Mike Royko
-Bob Woodward
+Mike Royko
+Bob Woodward
 
 Article: Hello.
 Status: 
@@ -682,8 +682,8 @@
 Pub date: 
 Writer: 
 -
-Mike Royko
-Bob Woodward
+Mike Royko
+Bob Woodward
 
 Article: 
 Status: 
@@ -699,7 +699,7 @@
   Hold down "Control", or "Command" on a Mac, to select more than 
one.
 
 >>> f = TestArticleForm({'headline': u'New headline', 'slug': u'new-headline', 
 >>> 'pub_date': u'1988-01-04',
-... 'writer': u'1', 'article': u'Hello.', 'categories': [u'1', u'2']}, 
instance=new_art)
+... 'writer': unicode(w_royko.pk), 'article': u'Hello.', 'categories': 
[u'1', u'2']}, instance=new_art)
 >>> new_art = f.save()
 >>> new_art.id
 1
@@ -709,7 +709,7 @@
 
 Now, submit form data with no categories. This deletes the existing categories.
 >>> f = TestArticleForm({'headline': u'New headline', 'slug': u'new-headline', 
 >>> 'pub_date': u'1988-01-04',
-... 'writer': u'1', 'article': u'Hello.'}, instance=new_art)
+... 'writer': unicode(w_royko.pk), 'article': u'Hello.'}, instance=new_art)
 >>> new_art = f.save()
 >>> new_art.id
 1
@@ -722,7 +722,7 @@
 ... class Meta:
 ... model = Article
 >>> f = ArticleForm({'headline': u'The walrus was Paul', 'slug': 
 >>> u'walrus-was-paul', 'pub_date': u'1967-11-01',
-... 'writer': u'1', 'article': u'Test.', 'categories': [u'1', u'2']})
+... 'writer': unicode(w_royko.pk), 'article': u'Test.', 'categories': 
[u'1', u'2']})
 >>> new_art = f.save()
 >>> new_art.id
 2
@@ -735,7 +735,7 @@
 ... class Meta:
 ... model = Article
 >>> f = ArticleForm({'headline': u'The walrus was Paul', 'slug': 
 >>> u'walrus-was-paul', 'pub_date': u'1967-11-01',
-... 'writer': u'1', 'article': u'Test.'})
+... 'writer': unicode(w_royko.pk), 'article': u'Test.'})
 >>> new_art = f.save()
 >>> new_art.id
 3
@@ -749,7 +749,7 @@
 ... class Meta:
 ... model = Article
 >>> f = ArticleForm({'headline': u'The walrus was Paul', 'slug': 
 >>> 'walrus-was-paul', 'pub_date': u'1967-11-01',
-... 'writer': u'1', 'article': u'Test.', 'categories': [u'1', u'2']})
+... 'writer': unicode(w_royko.pk), 'article': u'Test.', 'categories': 
[u'1', u'2']})
 >>> new_art = f.save(commit=False)
 
 # Manually save the instance
@@ -798,8 +798,8 @@
 Pub date: 
 Writer: 
 -
-Mike Royko
-Bob Woodward
+Mike Royko
+Bob Woodward
 
 Article: 
 Status: 
@@ -823,9 +823,9 @@
 Pub date: 
 Writer: 
 -
-Mike Royko
-Bob Woodward
-Carl Bernstein
+Mike Royko
+Bob Woodward
+Carl Bernstein
 
 Article: 
 Status: 
@@ -1047,15 +1047,15 @@
 >>> print form.as_p()
 Writer: 
 -
-Mike Royko
-Bob Woodward
-Carl Bernstein
-Joe Better
+Mike Royko
+Bob Woodward
+Carl Bernstein
+Joe Better
 
 Age: 
 
 >>> data = {
-... 'writer': u'2',
+... 'writer': unicode(w_woodward.pk),
 ... 'age': u'65',
 ... }
 >>> form = WriterProfileForm(data)
@@ -1067,10 +1067,10 @@
 >>> print form.as_p()
 Writer: 
 -
-Mike Royko
-Bob Woodward
-Carl Bernstein
-Joe Better
+Mike Royko
+Bob Woodward
+Carl Bernstein
+Joe Better
 
 Age: 
 

-- 
You received this message because you are subscribed to 

[Changeset] r13014 - django/trunk/tests/regressiontests/queryset_pickle

2010-04-21 Thread noreply
Author: kmtracey
Date: 2010-04-21 13:07:23 -0500 (Wed, 21 Apr 2010)
New Revision: 13014

Modified:
   django/trunk/tests/regressiontests/queryset_pickle/tests.py
Log:
Tweak the last two tests from r13013 to test what they are intended to test 
instead of repeating 3rd to last test.


Modified: django/trunk/tests/regressiontests/queryset_pickle/tests.py
===
--- django/trunk/tests/regressiontests/queryset_pickle/tests.py 2010-04-21 
16:34:33 UTC (rev 13013)
+++ django/trunk/tests/regressiontests/queryset_pickle/tests.py 2010-04-21 
18:07:23 UTC (rev 13014)
@@ -30,7 +30,7 @@
 self.assert_pickles(Happening.objects.filter(number2=1))
 
 def test_classmethod_as_default(self):
-self.assert_pickles(Happening.objects.filter(number2=1))
+self.assert_pickles(Happening.objects.filter(number3=1))
 
 def test_membermethod_as_default(self):
-self.assert_pickles(Happening.objects.filter(number2=1))
+self.assert_pickles(Happening.objects.filter(number4=1))

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  closed| Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:  fixed |  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by patrys):

 Russel:

 Thanks for fixing the main issue but I'm not sure the tests in that commit
 are correct or that they actually test anything related to this bug :)

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13394: django.contrib.auth.tests fail with custom Authentication Backends

2010-04-21 Thread Django
#13394: django.contrib.auth.tests fail with custom Authentication Backends
---+
  Reporter:  timc3 | Owner:  nobody
Status:  new   | Milestone:
 Component:  Contrib apps  |   Version:  SVN   
Resolution:|  Keywords:  Auth, contrib, testing
 Stage:  Accepted  | Has_patch:  0 
Needs_docs:  0 |   Needs_tests:  0 
Needs_better_patch:  0 |  
---+
Changes (by russellm):

  * stage:  Unreviewed => Accepted
  * component:  Testing framework => Contrib apps
  * milestone:  1.2 =>

Comment:

 This is another example of the wider problem of "integration vs
 application tests". The test's dependence on an external setting
 environment means that local application conditions can make the test
 fail.

 Yes, it's annoying, but it's not alone. There are a couple of other places
 where similar test failures occur. We need address the general problem,
 but it not critical for 1.2.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13013 - in django/trunk: django/db/backends django/db/models django/db/models/fields django/db/models/sql tests/regressiontests/queryset_pickle

2010-04-21 Thread noreply
Author: russellm
Date: 2010-04-21 11:34:33 -0500 (Wed, 21 Apr 2010)
New Revision: 13013

Modified:
   django/trunk/django/db/backends/creation.py
   django/trunk/django/db/models/base.py
   django/trunk/django/db/models/fields/__init__.py
   django/trunk/django/db/models/fields/proxy.py
   django/trunk/django/db/models/options.py
   django/trunk/django/db/models/sql/where.py
   django/trunk/tests/regressiontests/queryset_pickle/models.py
   django/trunk/tests/regressiontests/queryset_pickle/tests.py
Log:
Fixed #13328 -- Ensured that querysets on models with callable defaults can be 
pickled. No, really this time. Thanks to Alex for his help brainstorming the 
solution.

Modified: django/trunk/django/db/backends/creation.py
===
--- django/trunk/django/db/backends/creation.py 2010-04-21 12:07:36 UTC (rev 
13012)
+++ django/trunk/django/db/backends/creation.py 2010-04-21 16:34:33 UTC (rev 
13013)
@@ -73,9 +73,6 @@
 else:
 field_output.extend(ref_output)
 table_output.append(' '.join(field_output))
-if opts.order_with_respect_to:
-table_output.append(style.SQL_FIELD(qn('_order')) + ' ' + \
-
style.SQL_COLTYPE(models.IntegerField().db_type(connection=self.connection)))
 for field_constraints in opts.unique_together:
 table_output.append(style.SQL_KEYWORD('UNIQUE') + ' (%s)' % \
 ", ".join([style.SQL_FIELD(qn(opts.get_field(f).column)) for f 
in field_constraints]))

Modified: django/trunk/django/db/models/base.py
===
--- django/trunk/django/db/models/base.py   2010-04-21 12:07:36 UTC (rev 
13012)
+++ django/trunk/django/db/models/base.py   2010-04-21 16:34:33 UTC (rev 
13013)
@@ -504,6 +504,13 @@
 else:
 record_exists = False
 if not pk_set or not record_exists:
+if meta.order_with_respect_to:
+# If this is a model with an order_with_respect_to
+# autopopulate the _order field
+field = meta.order_with_respect_to
+order_value = manager.using(using).filter(**{field.name: 
getattr(self, field.attname)}).count()
+setattr(self, '_order', order_value)
+
 if not pk_set:
 if force_update:
 raise ValueError("Cannot force an update in save() 
with no primary key.")
@@ -513,9 +520,6 @@
 values = [(f, f.get_db_prep_save(raw and getattr(self, 
f.attname) or f.pre_save(self, True), connection=connection))
 for f in meta.local_fields]
 
-if meta.order_with_respect_to:
-field = meta.order_with_respect_to
-values.append((meta.get_field_by_name('_order')[0], 
manager.using(using).filter(**{field.name: getattr(self, 
field.attname)}).count()))
 record_exists = False
 
 update_pk = bool(meta.has_auto_field and not pk_set)

Modified: django/trunk/django/db/models/fields/__init__.py
===
--- django/trunk/django/db/models/fields/__init__.py2010-04-21 12:07:36 UTC 
(rev 13012)
+++ django/trunk/django/db/models/fields/__init__.py2010-04-21 16:34:33 UTC 
(rev 13013)
@@ -132,22 +132,6 @@
 memodict[id(self)] = obj
 return obj
 
-def __getstate__(self):
-"Don't try to pickle a callable default value"
-obj_dict = self.__dict__.copy()
-del obj_dict['default']
-return obj_dict
-
-def __setstate__(self, data):
-"When unpickling, restore the callable default"
-self.__dict__.update(data)
-
-# Restore the default
-try:
-self.default = self.model._meta.get_field(self.name).default
-except FieldDoesNotExist:
-self.default = NOT_PROVIDED
-
 def to_python(self, value):
 """
 Converts the input value into the expected Python data type, raising

Modified: django/trunk/django/db/models/fields/proxy.py
===
--- django/trunk/django/db/models/fields/proxy.py   2010-04-21 12:07:36 UTC 
(rev 13012)
+++ django/trunk/django/db/models/fields/proxy.py   2010-04-21 16:34:33 UTC 
(rev 13013)
@@ -11,9 +11,7 @@
 Meta.order_with_respect_to is specified.
 """
 
-def __init__(self, model, *args, **kwargs):
+def __init__(self, *args, **kwargs):
+kwargs['name'] = '_order'
+kwargs['editable'] = False
 super(OrderWrt, self).__init__(*args, **kwargs)
-self.model = model
-self.attname = '_order'
-self.column = '_order'
-self.name = '_order'

Modified: django/trunk/django/db/models/options.py

Re: [Django] #13394: django.contrib.auth.tests fail with custom Authentication Backends

2010-04-21 Thread Django
#13394: django.contrib.auth.tests fail with custom Authentication Backends
+---
  Reporter:  timc3  | Owner:  nobody
Status:  new| Milestone:  1.2   
 Component:  Testing framework  |   Version:  SVN   
Resolution: |  Keywords:  Auth, contrib, testing
 Stage:  Unreviewed | Has_patch:  0 
Needs_docs:  0  |   Needs_tests:  0 
Needs_better_patch:  0  |  
+---
Changes (by timc3):

  * needs_better_patch:  => 0
  * needs_tests:  => 0
  * needs_docs:  => 0

Comment:

 The offending test is:

 {{{ # The user submits an invalid username.

 >>> data = {
 ... 'username': 'jsmith_does_not_exist',
 ... 'password': 'test123',
 ... }

 >>> form = AuthenticationForm(None, data)
 >>> form.is_valid()
 False
 >>> form.non_field_errors()
 [u'Please enter a correct username and password. Note that both fields are
 case-sensitive.']

 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #13394: django.contrib.auth.tests fail with custom Authentication Backends

2010-04-21 Thread Django
#13394: django.contrib.auth.tests fail with custom Authentication Backends
+---
 Reporter:  timc3   |   Owner:  nobody
   Status:  new |   Milestone:  1.2   
Component:  Testing framework   | Version:  SVN   
 Keywords:  Auth, contrib, testing  |   Stage:  Unreviewed
Has_patch:  0   |  
+---
 When you are using custom Authentication backend the tests in
 django.contrib.auth.tests.__test__.FORM_TESTS fail.

 {{{

 FAIL: Doctest: django.contrib.auth.tests.__test__.FORM_TESTS
 --
 Traceback (most recent call last):
   File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5
 /site-packages/django/test/_doctest.py", line 2180, in runTest
 raise self.failureException(self.format_failure(new.getvalue()))
 AssertionError: Failed doctest test for
 django.contrib.auth.tests.__test__.FORM_TESTS
   File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5
 /site-packages/django/contrib/auth/tests/__init__.py", line unknown line
 number, in FORM_TESTS

 --
 File "/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5
 /site-packages/django/contrib/auth/tests/__init__.py", line ?, in
 django.contrib.auth.tests.__test__.FORM_TESTS
 Failed example:
 form.is_valid()
 Expected:
 False
 Got:
 403: Forbidden
 Context: user
 False

 }}}

 These should obviously not fail, but it would be preferable for a way to
 override them.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13393: Bug introduced with #12977 : can't copy fields with metaclass

2010-04-21 Thread Django
#13393: Bug introduced with #12977 : can't copy fields with metaclass
---+
  Reporter:  Twidi | Owner:  nobody  
Status:  closed| Milestone:  1.2 
 Component:  Database layer (models, ORM)  |   Version:  1.2-beta
Resolution:  duplicate |  Keywords:  
 Stage:  Unreviewed| Has_patch:  0   
Needs_docs:  0 |   Needs_tests:  0   
Needs_better_patch:  0 |  
---+
Comment (by Twidi):

 oups i thought my #13392 was not posted, sorry

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13393: Bug introduced with #12977 : can't copy fields with metaclass

2010-04-21 Thread Django
#13393: Bug introduced with #12977 : can't copy fields with metaclass
---+
  Reporter:  Twidi | Owner:  nobody  
Status:  closed| Milestone:  1.2 
 Component:  Database layer (models, ORM)  |   Version:  1.2-beta
Resolution:  duplicate |  Keywords:  
 Stage:  Unreviewed| Has_patch:  0   
Needs_docs:  0 |   Needs_tests:  0   
Needs_better_patch:  0 |  
---+
Changes (by russellm):

  * status:  new => closed
  * needs_better_patch:  => 0
  * resolution:  => duplicate
  * needs_tests:  => 0
  * needs_docs:  => 0

Comment:

 Duplicate of #13392, which has been closed in favor of reopening the
 original problem #13328.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #13393: Bug introduced with #12977 : can't copy fields with metaclass

2010-04-21 Thread Django
#13393: Bug introduced with #12977 : can't copy fields with metaclass
--+-
 Reporter:  Twidi |   Owner:  nobody
   Status:  new   |   Milestone:  1.2   
Component:  Database layer (models, ORM)  | Version:  1.2-beta  
 Keywords:|   Stage:  Unreviewed
Has_patch:  0 |  
--+-
 I'm using [http://code.google.com/p/django-transmeta/ Django-transmeta]
 for transforming a field into many fields, one for each lang (ex
 description transformed into description_en and description_fr)

 django-transmeta works with a metaclass, and in this metaclass, the new
 fields are created with copy.copy.

 But since the commit #12977, it doesn't work because when this is done,
 (in the {{{__new__}}} method of the Transmeta metaclass), the field has no
 model yet, and then an exception is raised in {{{__setstate__}}} at ligne
 146 of
 
[http://code.djangoproject.com/changeset/12977/django/trunk/django/db/models/fields/__init__.py
 db/models/fields/__init__.py]

 Is it a bad way of doing it in django-transmeta ?

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #10720: OrderedManyToMany API Implementation

2010-04-21 Thread Django
#10720: OrderedManyToMany API Implementation
+---
  Reporter:  Aryeh Leib Taurog   | Owner:  
nobody
Status:  new| Milestone:

 Component:  Database layer (models, ORM)   |   Version:  
SVN   
Resolution: |  Keywords:  
Ordered ManyToMany
 Stage:  Design decision needed | Has_patch:  1 

Needs_docs:  1  |   Needs_tests:  1 

Needs_better_patch:  0  |  
+---
Changes (by phxx):

 * cc: gre...@muellegger.de (added)

Comment:

 I have implemented an ordered m2m relation in a reusable app. Its not
 exactly the same approach you wanted to take like you described in your
 blog post but maybe a starting point.

 Have a look here: http://pypi.python.org/pypi?:action=display&name=django-
 sortedm2m&version=0.1.1

 Or start hacking and make the API the way you want by branching the code
 from launchpad:

 {{{
 bzr branch lp:django-sorted-m2m-field
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  reopened  | Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:|  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by russellm):

 I suspect you're probably correct that the solution is to look at cleaning
 up the object in a query that is being pickled. My original hope was that
 by solving the problem a little higher up, we might be able to avoid other
 pickling problems that haven't been reported, but it looks like I've just
 made more work for myself instead /sigh... :-)

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  reopened  | Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:|  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by patrys):

 I assume it wouldn't be possible to handle the most common case in code
 (`datetime.*`) and document the rest as backwards-incompatible? :)

 Then maybe it would be easier to not pickle the whole model at all when
 pickling the queryset? I'm sure it wasn't possible to pickle
 `datetime.now` or, even worse, a `lambda` at any point in time so maybe it
 would be possible to make the post-multidb queryset not pickle the model
 contents (the model is guaranteed to be there when unpickling).

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  reopened  | Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:|  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by russellm):

 It isn't just evaluate querysets,though. It's *any* queryset with a
 callable default -- see the tests added in r12977 for an example.

 On top of that,
 [http://docs.djangoproject.com/en/dev/ref/models/fields/#default the docs]
 clearly say that default can be a callable object, so we need to be able
 to handle *any* callable.

 Furthermore, this is a behavior that was legal in 1.1 (due to differences
 in the way queries were constructed), so we need to restore it for 1.2.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  reopened  | Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:|  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by patrys):

 To be clear:

 Where I say `django.db.utils.current_time` I actually mean to introduce
 safe replacements for common unpickleable methods (maybe something like
 `django.pickleable.today` or `safe_today` would be better names).

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13391: Detect charset from Content-type header in the HttpResponse

2010-04-21 Thread Django
#13391: Detect charset from Content-type header in the HttpResponse
+---
  Reporter:  lucky  | Owner:  nobody  
Status:  new| Milestone:  
 Component:  HTTP handling  |   Version:  SVN 
Resolution: |  Keywords:  HttpResponse
 Stage:  Accepted   | Has_patch:  1   
Needs_docs:  0  |   Needs_tests:  0   
Needs_better_patch:  0  |  
+---
Comment (by lucky):

 I tried to make the bug fix patch does not impose new responsibilities on
 the HttpResponse object.
 It just makes it possible to remove Django's uncertainty regarding to the
 {{{_charset}}} in the most natural way for application - by providing
 {{{charset}}} in the {{{content_type}}} argument or in the {{{Content-
 type}}} header of the {{{http response}}}. I believe it is not violate
 current behavior and spirit of the current implementation of the
 HttpResponse.

 In an ideal world

 I personally believe that HttpResponse should work at the level of the
 'headers' and the 'content' only. I was surprised that object has a own
 {{{._charset}}} property at all. Charset is an property of the content
 (and only of the special case of it "text content"). Therefore, the
 functions to work with content's charset in the HttpResponse are
 redundant. So I do not agree with current direction of HttpResponse
 implementation where content-specific operations are implemented in it,
 and #10190 too.

 The guessing of the charset of the text content in the response, by
 analyzing of the information from HttpRequest, or by from the projects
 settings (settings.DEFAULT_CHARSET), or by ... are magic tasks for higher
 level. That is some sort of the Middleware. Not for HttpResponse itself.

 In the case of
 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.4.1 Missing
 Charset] it is better to move the charset guessing logic (and other
 content-specific operations) out of HttpResponse, to the application
 /client-level:
 {{{
 def guess_text_content_from_response(response,
 default_charset=settings.DEFAULT_CHARSET):
 """
 :rtype: string representation of the response content with valid
 encoding.
 """
 if response.has_key['Content-type'] ...
 if getattr(response.content, 'encoding', None): ... # is content a
 file?
 if any other magic ...
 return smart_str(response.content, guessed_charset)

 def convert_response_to_be_accepted_for_request(response, request):
 """Converts response content with respect to ACCEPT_CHARSET header of
 the ``request`` and adjust Content-type header.
 if request.META.has_key("ACCEPT_CHARSET"):..
 ...
 }}}

 Properties of the content are describes in the
 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 Content-
 type] header. The
 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11 Content-
 Encoding] header is about "transfer" encoding (it is not about content
 charset). There are independent.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  reopened  | Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:|  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by patrys):

 Russel:

 Keep in mind it only breaks if you try to pickle it. I imagine most people
 don't pickle evaluated querysets.

 If we really need a hack to solve it then it would be easier to detect
 `datetime.datetime.now` in the `Field` constructor and replace it with a
 reference to, say, `django.db.utils.current_time` that is a regular
 module-level function. At the same time raise a deprecation warning.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13392: Bug introduced with #12977 : can't copy fields with metaclass

2010-04-21 Thread Django
#13392: Bug introduced with #12977 : can't copy fields with metaclass
---+
  Reporter:  Twidi | Owner:  nobody  
Status:  closed| Milestone:  1.2 
 Component:  Database layer (models, ORM)  |   Version:  1.2-beta
Resolution:  invalid   |  Keywords:  
 Stage:  Unreviewed| Has_patch:  0   
Needs_docs:  0 |   Needs_tests:  0   
Needs_better_patch:  0 |  
---+
Comment (by russellm):

 I'm fairly certain this problem *won't* be fixed by #13005. However, I'll
 keep this closed in favor of the original ticket (#13328), which was the
 original problem that [12977] was trying to fix.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  reopened  | Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:|  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Comment (by russellm):

 I'm in complete agreement that the current solution isn't clean. The
 report from #13392 is another example of where the complication of a field
 knowing it's model can go badly wrong.

 However, your solution isn't really viable. Like it or not, there is
 *plenty* of code out there that uses "default=datetime.now". Saying that
 this isn't allowed would be a *massive* backwards incompatibility.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13012 - django/branches/releases/1.1.X/tests/regressiontests/app_loading

2010-04-21 Thread noreply
Author: russellm
Date: 2010-04-21 07:07:36 -0500 (Wed, 21 Apr 2010)
New Revision: 13012

Modified:
   django/branches/releases/1.1.X/tests/regressiontests/app_loading/tests.py
Log:
[1.1.X] Fixed #13389 -- Ensured that the app_loading test clears out the app 
cache at the end of each test, so that it doesn't interact badly with flush and 
other introspected database commands. Thanks to Karen for the report, and 
Ramiro Morales for the debugging hints.

Backport of r13011 from trunk.

Modified: 
django/branches/releases/1.1.X/tests/regressiontests/app_loading/tests.py
===
--- django/branches/releases/1.1.X/tests/regressiontests/app_loading/tests.py   
2010-04-21 12:05:15 UTC (rev 13011)
+++ django/branches/releases/1.1.X/tests/regressiontests/app_loading/tests.py   
2010-04-21 12:07:36 UTC (rev 13012)
@@ -1,3 +1,4 @@
+import copy
 import os
 import sys
 import time
@@ -4,7 +5,7 @@
 from unittest import TestCase
 
 from django.conf import Settings
-from django.db.models.loading import load_app
+from django.db.models.loading import cache, load_app
 
 __test__ = {"API_TESTS": """
 Test the globbing of INSTALLED_APPS.
@@ -33,8 +34,16 @@
 self.old_path = sys.path
 self.egg_dir = '%s/eggs' % os.path.dirname(__file__)
 
+# This test adds dummy applications to the app cache. These
+# need to be removed in order to prevent bad interactions
+# with the flush operation in other tests.
+self.old_app_models = copy.deepcopy(cache.app_models)
+self.old_app_store = copy.deepcopy(cache.app_store)
+
 def tearDown(self):
 sys.path = self.old_path
+cache.app_models = self.old_app_models
+cache.app_store = self.old_app_store
 
 def test_egg1(self):
 """Models module can be loaded from an app in an egg"""
@@ -63,7 +72,7 @@
 sys.path.append(egg_name)
 models = load_app('omelet.app_no_models')
 self.failUnless(models is None)
- 
+
 def test_egg5(self):
 """Loading an app from an egg that has an import error in its models 
module raises that error"""
 egg_name = '%s/brokenapp.egg' % self.egg_dir

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13011 - django/trunk/tests/regressiontests/app_loading

2010-04-21 Thread noreply
Author: russellm
Date: 2010-04-21 07:05:15 -0500 (Wed, 21 Apr 2010)
New Revision: 13011

Modified:
   django/trunk/tests/regressiontests/app_loading/tests.py
Log:
Fixed #13389 -- Ensured that the app_loading test clears out the app cache at 
the end of each test, so that it doesn't interact badly with flush and other 
introspected database commands. Thanks to Karen for the report, and Ramiro 
Morales for the debugging hints.

Modified: django/trunk/tests/regressiontests/app_loading/tests.py
===
--- django/trunk/tests/regressiontests/app_loading/tests.py 2010-04-21 
11:33:39 UTC (rev 13010)
+++ django/trunk/tests/regressiontests/app_loading/tests.py 2010-04-21 
12:05:15 UTC (rev 13011)
@@ -1,3 +1,4 @@
+import copy
 import os
 import sys
 import time
@@ -4,7 +5,7 @@
 from unittest import TestCase
 
 from django.conf import Settings
-from django.db.models.loading import load_app
+from django.db.models.loading import cache, load_app
 
 __test__ = {"API_TESTS": """
 Test the globbing of INSTALLED_APPS.
@@ -33,8 +34,16 @@
 self.old_path = sys.path
 self.egg_dir = '%s/eggs' % os.path.dirname(__file__)
 
+# This test adds dummy applications to the app cache. These
+# need to be removed in order to prevent bad interactions
+# with the flush operation in other tests.
+self.old_app_models = copy.deepcopy(cache.app_models)
+self.old_app_store = copy.deepcopy(cache.app_store)
+
 def tearDown(self):
 sys.path = self.old_path
+cache.app_models = self.old_app_models
+cache.app_store = self.old_app_store
 
 def test_egg1(self):
 """Models module can be loaded from an app in an egg"""
@@ -63,7 +72,7 @@
 sys.path.append(egg_name)
 models = load_app('omelet.app_no_models')
 self.failUnless(models is None)
- 
+
 def test_egg5(self):
 """Loading an app from an egg that has an import error in its models 
module raises that error"""
 egg_name = '%s/brokenapp.egg' % self.egg_dir

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13328: Cannot pickle a queryset with filter on field with callable default datetime.datetime.now

2010-04-21 Thread Django
#13328: Cannot pickle a queryset with filter on field with callable default
datetime.datetime.now
---+
  Reporter:  bkonkle   | Owner:  nobody 

Status:  reopened  | Milestone:  1.2

 Component:  Database layer (models, ORM)  |   Version:  1.2-beta   

Resolution:|  Keywords:  pickle, 
queryset, datetime__lte
 Stage:  Accepted  | Has_patch:  1  

Needs_docs:  0 |   Needs_tests:  0  

Needs_better_patch:  0 |  
---+
Changes (by patrys):

  * status:  closed => reopened
  * resolution:  fixed =>

Comment:

 Actually I think [12977] and [13005] should be reverted as the current
 solution:

  1. violates the layer separation (fields being self-contained and not
 caring about the surrounding classes)
  2. does the ugly "find an older definition of myself and try to guess
 what the default was" dance
  3. breaks in horrible ways when fields are used by anything other than
 `django.db.models.Model` subclasses
  4. breaks apps such as transmeta (yes, I know transmeta is not exactly
 loved by the devs, I just mention it here for completness) that rely on
 being able to `copy()` a field in the metaclass

 Class and instance methods are unpickleable in Python. Be it Django or
 not. Period.

 What happens here is that `datetime.datetime.now` is a `...@staticmethod`.
 You can check that `datetime.datetime` is an object, not a module. Python
 only knows how to pickle functions it can reference by a module path.
 Instance methods are not reachable without an instance and static methods
 don't know their own python path because in reality they all point to a
 temporary function created inside the `...@staticmethod` decorator (well,
 that's how decorators work).

 A real fix is to either teach Python how to pickle static methods or use a
 function instead of a method. Functions are pickleable and work fine:

 {{{
 def current_time():
 return datetime.datetime.now()

 class Foo(models.Model):
 some_field = models.DateTimeField(default=current_time)
 }}}

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Changeset] r13010 - django/trunk/tests/regressiontests/forms/localflavor

2010-04-21 Thread noreply
Author: russellm
Date: 2010-04-21 06:33:39 -0500 (Wed, 21 Apr 2010)
New Revision: 13010

Modified:
   django/trunk/tests/regressiontests/forms/localflavor/se.py
Log:
Fixed #13374 -- Modified a test so that it can pass under PyPy. This is a 
reimplementation of part of r12998, reverted in r13008. Thanks to Alex Gaynor.

Modified: django/trunk/tests/regressiontests/forms/localflavor/se.py
===
--- django/trunk/tests/regressiontests/forms/localflavor/se.py  2010-04-20 
20:43:17 UTC (rev 13009)
+++ django/trunk/tests/regressiontests/forms/localflavor/se.py  2010-04-21 
11:33:39 UTC (rev 13010)
@@ -8,13 +8,12 @@
 ... def today(cls):
 ... return datetime.date(2008, 5, 14)
 ... today = classmethod(today)
-... 
+...
 >>> olddate = datetime.date
 >>> datetime.date = MockDate
->>> datetime.date.today()
-MockDate(2008, 5, 14)
+>>> datetime.date.today() == olddate(2008, 5, 14)
+True
 
-
 # SECountySelect #
 >>> from django.contrib.localflavor.se.forms import SECountySelect
 
@@ -245,7 +244,7 @@
 ValidationError: [u'Enter a valid Swedish personal identity number.']
 
 
-# Check valid co-ordination numbers, that should not be accepted 
+# Check valid co-ordination numbers, that should not be accepted
 # because of coordination_number=False
 >>> f = SEPersonalIdentityNumberField(coordination_number=False)
 

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #10790: Too many joins in a comparison for NULL.

2010-04-21 Thread Django
#10790: Too many joins in a comparison for NULL.
--+-
  Reporter:  mtredinnick  | Owner:  mtredinnick
Status:  new  | Milestone: 
 Component:  ORM aggregation  |   Version:  SVN
Resolution:   |  Keywords: 
 Stage:  Accepted | Has_patch:  0  
Needs_docs:  0|   Needs_tests:  0  
Needs_better_patch:  0|  
--+-
Comment (by milosu):

 The attached patch is passing all Django 1.1 test suite regressions tests.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13392: Bug introduced with #12977 : can't copy fields with metaclass

2010-04-21 Thread Django
#13392: Bug introduced with #12977 : can't copy fields with metaclass
---+
  Reporter:  Twidi | Owner:  nobody  
Status:  closed| Milestone:  1.2 
 Component:  Database layer (models, ORM)  |   Version:  1.2-beta
Resolution:  invalid   |  Keywords:  
 Stage:  Unreviewed| Has_patch:  0   
Needs_docs:  0 |   Needs_tests:  0   
Needs_better_patch:  0 |  
---+
Changes (by gabrielhurley):

  * status:  new => closed
  * needs_better_patch:  => 0
  * resolution:  => invalid
  * needs_tests:  => 0
  * needs_docs:  => 0

Comment:

 This should have been solved in [13005]. Update your copy of trunk and re-
 open if it's still broken.

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #12634: sql compiler execute: fetchone empty result with ordering_aliases fail.

2010-04-21 Thread Django
#12634: sql compiler execute: fetchone empty result with ordering_aliases fail.
---+
  Reporter:  v...@163.com   | Owner:  nobody  
Status:  closed| Milestone:  
 Component:  Database layer (models, ORM)  |   Version:  1.2-beta
Resolution:  invalid   |  Keywords:  
 Stage:  Unreviewed| Has_patch:  0   
Needs_docs:  0 |   Needs_tests:  0   
Needs_better_patch:  0 |  
---+
Comment (by PyMan):

 I am not that sure it's just a django-pyodbc problem, maybe it uses the
 self.query_ordering_aliases in a way slightly different from other
 backends but it gives back a correct query to be executed by django (and
 so it is) and problem happens when the query gives no results.

 Coming back to my previous example I could see that even doing this the
 problem happens:
 {{{
 Test.objects.create(name="pippo", id=12345) #At least when 12345 doesn't
 exists
 }}}

 That is it happens when an explicit id is given (because now it's doing a
 select, not an insert!)

 So django/db/models/sql/compiler.py with the "execute_sql" function
 executes the query (the following query)

 {{{
 SELECT * FROM (
SELECT (1) AS [a], (ROW_NUMBER() OVER (ORDER BY RAND() )) AS [rn]
FROM [myapp_test]
WHERE [myapp_test].[id] = %s
) AS X
 WHERE X.rn BETWEEN 1 AND 1

 Query Parameters: (12345,)
 }}}

 When this happens the self.query.ordering_aliases has the value
 "['(ROW_NUMBER() OVER (ORDER BY RAND() )) AS [rn]']"

 After executing the query the same function executes this piece of code
 {{{
 if result_type == SINGLE:
 if self.query.ordering_aliases:
 #res = cursor.fetchone()
 #if res : return res[:-len(self.query.ordering_aliases)]
 #return res
 return
 cursor.fetchone()[:-len(self.query.ordering_aliases)] #HERE'S THE
 EXCEPTION!
 return cursor.fetchone()
 }}}

 The exception comes because cursor.fetchone() returns None at least when
 the "id" doesn't exists in the table. I added the commented lines that if
 used things work.

 Can this help?

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



[Django] #13392: Bug introduced with #12977 : can't copy fields with metaclass

2010-04-21 Thread Django
#13392: Bug introduced with #12977 : can't copy fields with metaclass
--+-
 Reporter:  Twidi |   Owner:  nobody
   Status:  new   |   Milestone:  1.2   
Component:  Database layer (models, ORM)  | Version:  1.2-beta  
 Keywords:|   Stage:  Unreviewed
Has_patch:  0 |  
--+-
 I'm using [http://code.google.com/p/django-transmeta/ django-transmeta] to
 create fields for many langs

 Say i have a field "description" and with the metaclass provided by
 django-transmeta, this field is transformed in description_fr +
 description_en and so on.

 But with commit #12977, it doesn't work anymore, as the work is done by
 copying field (in the {{{__new__}}} method of the Transmeta metaclass),
 and at this stage, fields have not models and then {{{__setstate__}}} (in
 [/browser/django//trunk/django/db/models/fields/__init__.py#L141
 db/models/fields/__init__.py]) fails (because of self.model)

 No idea how to make a clean copy of the field without copy.copy...

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13387: Duplicated departement in french department list (localflavor)

2010-04-21 Thread Django
#13387: Duplicated departement in french department list (localflavor)
-+--
  Reporter:  Pinaraf | Owner:  nobody
Status:  closed  | Milestone:
 Component:  django.contrib.localflavor  |   Version:  1.1   
Resolution:  fixed   |  Keywords:
 Stage:  Unreviewed  | Has_patch:  1 
Needs_docs:  0   |   Needs_tests:  0 
Needs_better_patch:  0   |  
-+--
Comment (by russellm):

 It already has been backported to 1.1.X; the SVN trigger just didn't make
 it to trac. See [13007].

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.



Re: [Django] #13387: Duplicated departement in french department list (localflavor)

2010-04-21 Thread Django
#13387: Duplicated departement in french department list (localflavor)
-+--
  Reporter:  Pinaraf | Owner:  nobody
Status:  closed  | Milestone:
 Component:  django.contrib.localflavor  |   Version:  1.1   
Resolution:  fixed   |  Keywords:
 Stage:  Unreviewed  | Has_patch:  1 
Needs_docs:  0   |   Needs_tests:  0 
Needs_better_patch:  0   |  
-+--
Changes (by Pinaraf):

  * needs_better_patch:  => 0
  * needs_tests:  => 0
  * needs_docs:  => 0

Comment:

 Thanks…

 Is it possible to backport this fix to the 1.1 branch that is also
 affected ?

-- 
Ticket URL: 
Django 
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-upda...@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.