django_tickets
id | created | changetime | last_pulled_from_trac | stage | status | component | type | severity | version | resolution | summary | description | owner | reporter | keywords | easy | has_patch | needs_better_patch | needs_tests | needs_docs | ui_ux |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8582 | 2008-08-27 00:31:32 | 2011-09-28 16:12:17 | 2022-03-06 03:42:38.192112 | Unreviewed | closed | contrib.admin | 1.0-beta | duplicate | Changing password on a new install generates a NoReverseMatch exception | I searched for this bug, best I knew how...didn't find anything on it. 1. Installed 1.0Beta1 2. Activated the admin per the instructions in the tutorial 3. Logged in 4. Clicked on the "Change password" link (top right of the page) 5. Changed password 6. Got this: {{{ Environment: Request Method: POST Request URL: http://demo.sktdev.com/jkugler/admin/password_change/ Django Version: 1.0-beta_1-SVN-8472 Python Version: 2.5.2 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.doc.XViewMiddleware') Traceback: File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py" in get_response 86. response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.5/site-packages/django/contrib/admin/sites.py" in root 161. return self.password_change(request) File "/usr/lib/python2.5/site-packages/django/contrib/admin/sites.py" in password_change 197. return password_change(request) File "/usr/lib/python2.5/site-packages/django/contrib/auth/decorators.py" in __call__ 67. return self.view_func(request, *args, **kwargs) File "/usr/lib/python2.5/site-packages/django/contrib/auth/views.py" in password_change 139. return HttpResponseRedirect(reverse('django.contrib.auth.views.password_change_done')) File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py" in reverse 307. *args, **kwargs))) File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py" in reverse 291. raise NoReverseMatch("Reverse for '%s' not found." % lookup_view) Exception Type: NoReverseMatch at /jkugler/admin/password_change/ Exception Value: Reverse for '<function password_change_done at 0x8cc92cc>' not found. }}} This is under mod_python. Apache config: {{{ <Location "/jkugler/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE skaconnect.settings PythonOption django.root /jkugler PythonDebug On PythonPath "['/home/jkugler/code'] + sys.path" PythonInterpreter jkugler_python PythonAutoReload On </Location> }}} urls.py: {{{ from django.conf.urls.defaults import * from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', (r'^admin/(.*)', admin.site.root), ) }}} | nobody | Joshua Kugler <joshua@joshuakugler.com> | password_change_done, NoReverseMatch | 0 | 0 | 0 | 0 | 0 | 0 | ||
8583 | 2008-08-27 01:11:00 | 2011-09-28 16:12:17 | 2022-03-06 03:42:38.341014 | Ready for checkin | closed | Documentation | dev | fixed | Comments upgrade SQL fails on FreeComment data | In the contrib.comments upgrade instructions, the UPDATE statements work when migrating the old `Comment` data but they fail on `FreeComment` data because the latter has null `user_id`s. Attached patch ensures that the UPDATES get applied only to migrated `Comment` data (i.e. when user_id is not NULL.) Not sure if this is good enough but it works for me in PGSQL. | jacob | rajeshd | comments docs | 0 | 1 | 0 | 0 | 0 | 0 | ||
8584 | 2008-08-27 01:16:50 | 2011-09-28 16:12:17 | 2022-03-06 03:42:38.508356 | Accepted | closed | Internationalization | dev | fixed | Corner case for get_language_for_request function in translation | As I understand the problem would show itself if the following, rather strange, conditions are met: * User language preference specify `xx-YY` * `xx_YY` l10n is supported by the Django installation (i.e. it's listed in `settings.LANGUAGE`) * The actual `xx_YY/LC_MESSAGES/django.mo` is missing from the project, or the Django installation itself * `xx` is listed in in `settings.LANGUAGE` * `xx/LC_MESSAGES/django.mo` file exists In this scenario, Django won't use the `xx` translation. PS: Also, `pyflakes` points out there is an unused import of `settings` in line 61 of the same file. | nobody | ramiro | 0 | 1 | 0 | 0 | 0 | 0 | |||
8585 | 2008-08-27 03:40:43 | 2011-09-28 16:12:17 | 2022-03-06 03:42:38.667137 | Unreviewed | closed | contrib.admin | 1.0-beta | worksforme | InterfaceError with MySQLdb set_character_set | I have syncdb and runserver via console mode without any error. but when I want to run it via mod_python, and I got some error like this. {{{ Environment: Request Method: GET Request URL: http://218.30.114.220/infocoll/admin/ Django Version: 1.0-beta_1-SVN-unknown Python Version: 2.4.3 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.admin', 'infocoll.info', 'infocoll.log'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.doc.XViewMiddleware') Traceback: File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py" in get_response 86. response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.4/site-packages/django/contrib/admin/sites.py" in root 155. if not self.has_permission(request): File "/usr/lib/python2.4/site-packages/django/contrib/admin/sites.py" in has_permission 113. return request.user.is_authenticated() and request.user.is_staff File "/usr/lib/python2.4/site-packages/django/contrib/auth/middleware.py" in __get__ 5. request._cached_user = get_user(request) File "/usr/lib/python2.4/site-packages/django/contrib/auth/__init__.py" in get_user 78. user_id = request.session[SESSION_KEY] File "/usr/lib/python2.4/site-packages/django/contrib/sessions/backends/base.py" in __getitem__ 46. return self._session[key] File "/usr/lib/python2.4/site-packages/django/contrib/sessions/backends/base.py" in _get_session 168. self._session_cache = self.load() File "/usr/lib/python2.4/site-packages/django/contrib/sessions/backends/db.py" in load 15. expire_date__gt=datetime.datetime.now() File "/usr/lib/python2.4/site-packages/django/db/models/manager.py" in get 81. return self.get_query_set().get(*args, **kwargs) File "/usr/lib/python2.4/site-packages/django/db/models/query.py" in get 295. num = len(clone) File "/usr/lib/python2.4/site-packages/django/db/models/query.py" in __len__ 151. self._result_cache = list(self.iterator()) File "/usr/lib/python2.4/site-packages/django/db/models/query.py" in iterator 266. for row in self.query.results_iter(): File "/usr/lib/python2.4/site-packages/django/db/models/sql/query.py" in results_iter 200. for rows in self.execute_sql(MULTI): File "/usr/lib/python2.4/site-packages/django/db/models/sql/query.py" in execute_sql 1613. cursor = self.connection.cursor() File "/usr/lib/python2.4/site-packages/django/db/backends/__init__.py" in cursor 56. cursor = self._cursor(settings) File "/usr/lib/python2.4/site-packages/django/db/backends/mysql/base.py" in _cursor 221. self.connection = Database.connect(**kwargs) File "build/bdist.linux-x86_64/egg/MySQLdb/__init__.py" in Connect 74. return Connection(*args, **kwargs) File "build/bdist.linux-x86_64/egg/MySQLdb/connections.py" in __init__ 198. self.set_character_set(charset) File "build/bdist.linux-x86_64/egg/MySQLdb/connections.py" in set_character_set 277. super(Connection, self).set_character_set(charset) Exception Type: InterfaceError at /infocoll/admin/ Exception Value: (0, '') }}} here is some info of mine * mysql {{{ Server version: 5.1.26-rc-log Source distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 }}} * host {{{ Linux JA_PUBLIC_TEST_114_220 2.6.18-53.el5 #1 SMP Mon Nov 12 02:14:55 EST 2007 x86_64 x86_64 x86_64 GNU/Linux Python 2.4.3 MySQL-python-1.2.2 }}} | nobody | khsing | 0 | 0 | 0 | 0 | 0 | 0 | |||
8586 | 2008-08-27 05:04:15 | 2008-10-15 03:40:11 | 2022-03-06 03:42:38.829017 | Unreviewed | closed | File uploads/storage | dev | invalid | ImageFieldFile cannot be saved with File.read() | Both of these forms of data are rejected by get_image_dimensions, but accepted by !FieldFile.save(). If you use an object with attr read, like get_image_dimensions wants, it is rejected by the default file storage since it doesn't have a chunk method. This is very useful if you want to duplicate an image behind the scenes for manipulation. This may be related to #8208, since it is making this call before the image data has been written to the filesystem. It may need to be called after the ancestor save to get the proper filename (and fix #8208). Traceback: {{{ File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py" in get_response 86. response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.5/site-packages/django/contrib/admin/sites.py" in root 173. return self.model_page(request, *url.split('/', 2)) File "/usr/lib/python2.5/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 44. response = view_func(request, *args, **kwargs) File "/usr/lib/python2.5/site-packages/django/contrib/admin/sites.py" in model_page 192. return admin_obj(request, rest_of_url) File "/usr/lib/python2.5/site-packages/django/contrib/admin/options.py" in __call__ 191. return self.change_view(request, unquote(url)) File "/usr/lib/python2.5/site-packages/django/db/transaction.py" in _commit_on_success 238. res = func(*args, **kw) File "/usr/lib/python2.5/site-packages/django/contrib/admin/options.py" in change_view 570. self.save_model(request, new_object, form, change=True) File "/usr/lib/python2.5/site-packages/django/contrib/admin/options.py" in save_model 367. obj.save() File "/media/MORTON USB/sites/btevents/../btevents/photos/models.py" in save 19. self.slideshow_image.save(os_path.basename(self.image.path), self.image.read(), save=False) File "/usr/lib/python2.5/site-packages/django/db/models/fields/files.py" in save 262. self._dimensions_cache = get_image_dimensions(content) File "/usr/lib/python2.5/site-packages/django/core/files/images.py" in get_image_dimensions 34. file = open(file_or_path, 'rb') Exception Type: TypeError at /admin/photos/photo/9/ Exception Value: file() argument 1 must be (encoded string without NULL bytes), not str }}} Here is a snippet to reproduce the problem. {{{ class Photo(models.Model): image = models.ImageField(upload_to='event_photos') slideshow_image = models.ImageField(upload_to='slideshow', editable=False) def save(self): # save a stub image to get the filename we want from the FileStorage object self.slideshow_image.save(os.path.basename(self.image.path), self.image.read(), save=False) i = Image.open(self.slideshow_image.path) image = i.crop((0, 0, 450, 300)) image.save(self.slideshow_image.path, 'JPEG') super(Photo, self).save() }}} | nobody | rokclimb15 | 0 | 0 | 0 | 0 | 0 | 0 | |||
8587 | 2008-08-27 06:45:56 | 2008-09-07 23:05:43 | 2022-03-06 03:42:39.007686 | Unreviewed | closed | Documentation | dev | invalid | Documentation not clear for apache-mopython | Hello, First, let me thank the documentation team and the designer team of Django. It's because of the excellent documentation and the clean interface I'm now very much interested in learning Django. Now into my request. I'm not understanding the documentation for apache and mod-python outlined in http://www.djangoproject.com/documentation/modpython/. I feel this page needs more attention and details. I dont know where I start from and haven't feel confident of using apache after reading the tutorial. Since all of us want to deploy django at some point of time on a real server and not use the built in development server, this page needs more information from the very basics. for example, this is from the apache mod-python documentation page. <Location "/mysite/"> SetHandler python-program PythonHandler django.core.handlers.modpython SetEnv DJANGO_SETTINGS_MODULE mysite.settings PythonOption django.root /mysite PythonDebug On </Location> …and replace mysite.settings with the Python import path to your Django project’s settings file. It'd have been easier, if you have taken an example and explained where mysite resides and with a sample mysite.settings etc., I hope am making sense. Thank you, Shakthi | nobody | shakthi | apache, mod-python | 0 | 0 | 0 | 0 | 0 | 0 | ||
8588 | 2008-08-27 06:56:08 | 2008-08-30 15:48:00 | 2022-03-06 03:42:39.176550 | Unreviewed | closed | contrib.admin | dev | duplicate | Admin interface +'s are still displayed next to FK even if you dont have permission to add objects of that type. | In the admin if your logged in with a user that does not have permission to add a certain object referenced as FK in another model the plus sign is displayed next to the FK reference even though when you click on the plus sign it says 'permission denied'. It would be nice if + sign wasn't displayed if you don't have the correct permissions to add an object of that type. | nobody | billsb | 0 | 0 | 0 | 0 | 0 | 0 | |||
8589 | 2008-08-27 07:10:55 | 2011-09-28 16:12:17 | 2022-03-06 03:42:39.343938 | Unreviewed | closed | contrib.admin | dev | fixed | admin logout url broken | If you click on the app link in admin interface and then logout the url is broken. For examples if you have an app named 'test' in the admin interface there is an href on 'test' if you follow the href and the click logout the logout url will be /admin/test/logout the correct one is /admin/logout, regards drakkan | nobody | drakkan | 0 | 0 | 0 | 0 | 0 | 0 | |||
8590 | 2008-08-27 07:48:19 | 2011-09-28 16:12:17 | 2022-03-06 03:42:39.501792 | Ready for checkin | closed | Documentation | dev | fixed | Add some information in comment upgrade guide | Some users seems to have trouble upgrading to the newcomments contrib app, as in #8571 and http://groups.google.com/group/django-users/browse_thread/thread/eb5db61766a5dc07 Also, as I was going to upgrade to the new system, I jumped straight away to the "Upgrade" page. Then, running the SQL command wouldn't work because I had forgotten to run `syncdb` to create the new tables. I think this might potentially be a trap for a lot of users. The attached patch attempts to fix those two issues. | jacob | julien | 0 | 1 | 0 | 0 | 0 | 0 | |||
8591 | 2008-08-27 08:02:04 | 2008-08-27 12:12:19 | 2022-03-06 03:42:39.660209 | Unreviewed | closed | Documentation | dev | fixed | Bad link at docs.djangoproject.com | Bad link at http://docs.djangoproject.com/en/dev/releases/. All references to release notes are not reachable. | nobody | kegan | 0 | 0 | 0 | 0 | 0 | 0 | |||
8592 | 2008-08-27 08:02:45 | 2011-09-28 16:12:17 | 2022-03-06 03:42:39.804360 | Accepted | closed | Database layer (models, ORM) | 1.0-beta | fixed | Savepoints not completely disabled with PostgreSQL prior to 8.0. | I am using Django 1.0 beta 1 with PostgreSQL 7.4. With mod_python, I have the following exception : {{{ ProgrammingError: syntax error at or near "SAVEPOINT" at character 1 }}} Savepoints should be disabled with PostgreSQL < 8.0 (Changeset [8317]) but this does not work because it is not disabled in all !DatabaseWrapper objects, only the first one. Surely because we are using a class member to store the fact that it has been disabled : {{{ self.__class__._version = version }}} The problem is not present when using {{{ manage.py runserver }}}, surely because only one !DatabaseWrapper will be created. | nobody | mlafon@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | |||
8593 | 2008-08-27 08:25:32 | 2011-09-28 16:12:30 | 2022-03-06 03:42:39.961921 | Ready for checkin | closed | File uploads/storage | Bug | Normal | 1.0 | fixed | Image upload in Windows changes filename to lowercase | When using an ImageField and uploading an image via admin, say the filename was Test.jpg, uploading it in Linux will save the file as Test.jpg on the disk, and the reference in the database is also Test.jpg, things work normally as expected here. However, when uploading the same file in Windows, the filename is saved on the disk as test.jpg (all lower case), but in the database is still referenced as Test.jpg. Since the filesystem in Windows is not case sensitive, this is not really much of an issue immediately. If you however, then copy your Django based site back to a Linux based machine, you will get a missing image, as it is expected to find the file "Test.jpg" in the filesystem, however the file is "test.jpg". In this case, this can become a bit of a problem. I am not sure if the problem is related to Django or Python on Windows. | SmileyChris | robvdl | upload image lowercase | 0 | 1 | 0 | 0 | 0 | 0 |
8594 | 2008-08-27 08:54:11 | 2008-08-27 09:17:11 | 2022-03-06 03:42:40.134439 | Unreviewed | closed | Database layer (models, ORM) | dev | duplicate | Add a model Meta parameter to prevent from table creation | I'm working with an existing oracle database, and I can't use the syncdb tool because in have views in my schema. Making requests to these views is not a problem at all, but syncdb only looks for tables, and since some of the classes in my model are referring to views, syncdb doesn't find them. In the syncdb logic, since the table doesn't exist, it has to be created. But there is already an object with this name (the view) and therefore, syncdb fails. Therefore, since I cannot run syncdb, the list of permissions I can grant to my users is not being updated. I guess I could add all the permissions by hand, and that's I will do if there is no other solution. However I was thinking of a trick that might not be so difficult to implement for you, and that would allow me (and of course other users in the same situation) to run syncdb successfully, and keep the functions given by the utility running. What I'm suggesting is that a flag (basically a boolean) is added to the list of Meta parameters. Let's call it create_table. The flag would be set to True by default, and would mean that when you run syncdb, syncdb will attempt to create the table if it doesn't exist. If set to False, then syncdb wouldn't try to create the table, and would carry on its job, part of which is to update the list of permissions. I think it makes sense to implement this, in the sense that, when you work with an exisitng database, you basically know that the tables are created. There might be another solution to the issue (for example adding an option to the syncdb utility which would tell it not to try to create tables, for example), but I haven't studied te django code enough to be able to tell which is the best. Thank you for looking into it. | nobody | guneeyoufix | syncdb,table,view,oracle,Meta | 0 | 0 | 0 | 0 | 0 | 0 | ||
8595 | 2008-08-27 08:55:43 | 2011-09-28 16:12:17 | 2022-03-06 03:42:40.314787 | Ready for checkin | closed | Documentation | dev | fixed | Remove note about possible change of url template tag syntax | This note is probably not relevant in the 1.0 doc. | jacob | julien | 0 | 1 | 0 | 0 | 0 | 0 | |||
8596 | 2008-08-27 09:00:45 | 2011-09-28 16:12:17 | 2022-03-06 03:42:40.469679 | Unreviewed | closed | contrib.admin | dev | invalid | Error while importing URLconf 'mysite.urls': No module named models | After upgrading to rev [8617], I get an error caused by: {{{ admin.autodiscover() }}} The exception value is: {{{ Error while importing URLconf 'mysite.urls': No module named models }}} I can't tell much more about it as the traceback is not useful. The installed apps looks like: {{{ INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.sitemaps', 'blog', }}} I have tried with mysite.blog in INSTALLED_APPS but I get another error about importing. | nobody | tolano | 0 | 1 | 0 | 0 | 0 | 0 | |||
8597 | 2008-08-27 09:54:41 | 2011-09-28 16:12:17 | 2022-03-06 03:42:40.624052 | Accepted | closed | Database layer (models, ORM) | dev | fixed | PostgreSQL: r8536 broke iexact lookups with underscores | Changeset [8536] changed the way field iexact lookups are translated in the PostgreSQL backend. Before the patch, these were translated to "ILIKE %s". Now it's "UPPER(field) = UPPER(%s)". However, the %s value is still escaped for use in a LIKE expression, that is, all underscores are prepended with "\\". Before the patch (correct): {{{ >>> User.objects.filter(username__iexact='test_user').query.as_sql() ('SELECT [...] FROM "auth_user" WHERE "auth_user"."username"::text ILIKE %s ', (u'test\\_user',)) }}} After the patch (wrong): {{{ User.objects.filter(username__iexact='test_user').query.as_sql() ('SELECT [...] FROM "auth_user" WHERE UPPER("auth_user"."username"::text) = UPPER(%s) ', (u'test\\_user',)) }}} As a result, iexact lookups no longer work in the current version with PostgreSQL, if the comparison value contains an underscore. | nobody | rene.puls@repro-mayr.de | 0 | 0 | 0 | 0 | 0 | 0 | |||
8598 | 2008-08-27 10:28:35 | 2008-08-27 10:34:56 | 2022-03-06 03:42:40.789695 | Unreviewed | closed | contrib.comments | dev | invalid | form.html template in contrib.comments has an open paragraph tag. | The paragraph tag on line 7 of the comments hasn't been closed and is sending out invalid markup. | nobody | jamiecurle | comments form html paragraph | 0 | 1 | 0 | 0 | 0 | 0 | ||
8599 | 2008-08-27 10:54:17 | 2011-09-28 16:12:17 | 2022-03-06 03:42:40.953416 | Unreviewed | closed | Uncategorized | dev | fixed | Remove unused 'urls' directory in comments | Most likely an oversight after the merge of `newcomments`. There is an empty `urls` directory that's still hanging about: http://code.djangoproject.com/browser/django/trunk/django/contrib/comments/urls | nobody | julien | 0 | 0 | 0 | 0 | 0 | 0 | |||
8600 | 2008-08-27 11:08:09 | 2011-09-28 16:12:17 | 2022-03-06 03:42:41.102487 | Ready for checkin | closed | Documentation | dev | fixed | Typo in URL dispatcher doc | Not a massively important typo, but potentially misleading. The given example is for oldcomments. See attached patch. | nobody | julien | 0 | 1 | 0 | 0 | 0 | 0 | |||
8601 | 2008-08-27 11:09:40 | 2011-09-28 16:12:17 | 2022-03-06 03:42:41.260719 | Accepted | closed | contrib.comments | dev | fixed | Typo in comments view | The patch should speak for itself. I've also removed an unused import. | nobody | julien | 0 | 1 | 0 | 0 | 0 | 0 | |||
8602 | 2008-08-27 11:22:38 | 2008-08-27 17:04:26 | 2022-03-06 03:42:41.413441 | Unreviewed | closed | Generic views | dev | duplicate | Archive_week should accept Monday as the first day of the week | Currently, the weeks in django.views.generic.date_based.archive_week start with Sunday. While this is common practice in the US, most of the rest of the world uses Monday as the first day of the week (which also happens to be an ISO standard), and the generic view isn't very useful in these countries. | nobody | Jusso | 0 | 0 | 0 | 0 | 0 | 0 | |||
8603 | 2008-08-27 12:19:10 | 2011-09-28 16:12:17 | 2022-03-06 03:42:41.568024 | Accepted | closed | Documentation | dev | fixed | Typo in index.txt | The howto-outputting-PDF link should not contain capitals. | nobody | dpaccoud | 0 | 1 | 0 | 0 | 0 | 0 | |||
8604 | 2008-08-27 12:27:23 | 2011-09-28 16:12:17 | 2022-03-06 03:42:41.746311 | Accepted | closed | Documentation | dev | fixed | "Documentation" link on djangoproject.com should be changed | Just to not forget about that: The new documentation system has been/will be shortly announced, and release notes refering to the new comments system are on its way, hence the Documentation link on djangoproject.com should point to the new documentation (which has the documentation for the new comments, and the latest relase notes). So, don't forget ;) | jacob | telenieko | 0 | 0 | 0 | 0 | 0 | 0 | |||
8605 | 2008-08-27 12:32:12 | 2011-09-28 16:12:17 | 2022-03-06 03:42:41.903378 | Unreviewed | closed | *.djangoproject.com | dev | fixed | Link to Django Software Foundation at docs.djangoproject.com broken | The link to Django Software Foundation at docs.djangoproject.com broken. It points relatively to "/foundation/", which translates to the non-existing page http://docs.djangoproject.com/foundation/ instead of the correct http://www.djangoproject.com/foundation/. | nobody | jodal | 0 | 0 | 0 | 0 | 0 | 0 | |||
8606 | 2008-08-27 12:45:34 | 2011-09-28 16:12:17 | 2022-03-06 03:42:42.043470 | Unreviewed | closed | Database layer (models, ORM) | dev | worksforme | Attribute error in Exception handling - Oracle backend | There is an error with the Oracle backend. Here is the trackback: http://dpaste.com/74192/ It works if 'message' is replaced by args[0], but there is probably a more elegant way to do it. Last thing: I'm running Python 2.3, with no possibility to use a newer version. | nobody | guneeyoufix | attribute,excpetion,message,database,oracle,backend | 0 | 0 | 0 | 0 | 0 | 0 | ||
8607 | 2008-08-27 12:45:41 | 2008-09-05 15:01:03 | 2022-03-06 03:42:42.203115 | Unreviewed | closed | Core (Serialization) | dev | fixed | yaml serialization to file fails | When serializing anything to yaml with stream=open('file','w') it fails with the following error: >>> XMLSerializer = serializers.get_serializer('yaml') >>> serializer = XMLSerializer() >>> serializer.serialize(Partner.objects.all(), stream=open('partners.yaml', 'w')) Traceback (most recent call last): File "./bin/serialization/serialize_partners.py", line 16, in <module> serializer.serialize(Partner.objects.all(), stream=out) File "/var/django/phones-lev/django/core/serializers/base.py", line 56, in serialize return self.getvalue() File "./django/core/serializers/pyyaml.py", line 43, in getvalue return self.stream.getvalue() AttributeError: 'file' object has no attribute 'getvalue' | nobody | antony_hatchkins | yaml | 0 | 1 | 0 | 0 | 0 | 0 | ||
8608 | 2008-08-27 12:56:35 | 2011-09-28 16:12:17 | 2022-03-06 03:42:42.357134 | Accepted | closed | contrib.comments | dev | fixed | django.contrib.comments points to documentation that doesn't exists on the webpage | When having an error on my django install about comments, I'm invited to check out the documentation on http://www.djangoproject.com/documentation/comments/ but the link gives me Not Found.... Link: http://www.djangoproject.com/documentation/comments/ Error: Comment post not allowed (400) Why: Missing content_type or object_pk field. The comment you tried to post to this view wasn't saved because something tampered with the security information in the comment form. The message above should explain the problem, or you can check the [http://www.djangoproject.com/documentation/comments/ comment documentation] for more help. | nobody | anonymous | error page wrong location point | 0 | 0 | 0 | 0 | 0 | 0 | ||
8609 | 2008-08-27 13:01:22 | 2008-08-28 19:19:27 | 2022-03-06 03:42:42.501405 | Unreviewed | closed | Documentation | dev | fixed | Typo in obsolete-index.txt | forms and newforms-migration have been removed from the obsolete directory. | nobody | dpaccoud | 0 | 1 | 0 | 0 | 0 | 0 | |||
8610 | 2008-08-27 13:04:12 | 2011-09-28 16:12:17 | 2022-03-06 03:42:42.645097 | Ready for checkin | closed | contrib.admin | dev | fixed | Mark alt attributes of admin widgets for i18n | In {{{django.contrib.admin.widgets}}} are two strings not marked for translation. | jezdez | jezdez | 0 | 1 | 0 | 0 | 0 | 0 | |||
8611 | 2008-08-27 13:22:52 | 2009-10-17 10:32:28 | 2022-03-06 03:42:42.804257 | Unreviewed | closed | Core (Other) | 1.1 | fixed | Reverse for '<django.contrib.auth.decorators._CheckLogin object at 0x8ee144c>' not found | this happens when trying to get a reverse for a function decorated with @login_required. | nobody | imbaczek@gmail.com | 0 | 0 | 0 | 0 | 0 | 0 | |||
8612 | 2008-08-27 13:25:35 | 2010-01-01 21:34:50 | 2022-03-06 03:42:42.954594 | Accepted | closed | contrib.localflavor | dev | fixed | Add Indonesian (id) localflavor | Classes: * IDPostCodeField * IDProvinceSelect * IDPhoneNumberField * IDLicensePlatePrefixSelect * IDLicensePlateField * IDNationalIdentityNumberField | ronny | ronny | indonesia indonesian | 0 | 1 | 0 | 0 | 0 | 0 | ||
8613 | 2008-08-27 13:27:30 | 2011-09-28 16:12:17 | 2022-03-06 03:42:43.105761 | Accepted | closed | Forms | dev | fixed | FileField.save_file() is no longer used. | In [8616], nearly all of oldforms was removed (yay!), but `FileField.save_file()` remains. It was only ever used by oldforms manipulators, and a simple search in 1.0b2 shows no remaining references to it. It should also be removed as part of the oldforms removal. | nobody | Gulopine | 0 | 1 | 0 | 0 | 0 | 0 | |||
8614 | 2008-08-27 14:07:50 | 2011-09-28 16:12:17 | 2022-03-06 03:42:43.234954 | Ready for checkin | closed | contrib.comments | dev | fixed | typo in django.contrib.comments models.py | While reading through django/contrib/comments/models.py I noticed that the comments for the Comment model references the field person_name which does not exist. This should probably be user_name which does exist. | nobody | Nate Straz <nate-django@refried.org> | 0 | 1 | 0 | 0 | 0 | 0 | |||
8615 | 2008-08-27 14:15:20 | 2011-09-28 16:12:17 | 2022-03-06 03:42:43.378050 | Unreviewed | closed | contrib.admin | dev | invalid | Changeset 8605 breaks model loading under unknown circumstances | [8605] seems to be a backward incompatible change. Without the line ''models.get_apps()'' the models can be loaded without any problem. If get_apps is called I receive the following trace: {{{ Validating models... Traceback (most recent call last): File "/usr/local/bin/django-admin.py", line 5, in <module> management.execute_from_command_line() File "/PATH/TO/DJANGO/django/core/management/__init__.py", line 325, in execute_from_command_line utility.execute() File "/PATH/TO/DJANGO/django/core/management/__init__.py", line 295, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/PATH/TO/DJANGO/django/core/management/base.py", line 77, in run_from_argv self.execute(*args, **options.__dict__) File "/PATH/TO/DJANGO/django/core/management/base.py", line 96, in execute output = self.handle(*args, **options) File "/PATH/TO/DJANGO/django/core/management/commands/runserver.py", line 77, in handle inner_run() File "/PATH/TO/DJANGO/django/core/management/commands/runserver.py", line 47, in inner_run self.validate(display_num_errors=True) File "/PATH/TO/DJANGO/django/core/management/base.py", line 122, in validate num_errors = get_validation_errors(s, app) File "/usr/lib/python2.5/site-packages/django/core/management/validation.py", line 28, in get_validation_errors for (app_name, error) in get_app_errors().items(): File "/PATH/TO/DJANGO/django/db/models/loading.py", line 128, in get_app_errors self._populate() File "/PATH/TO/DJANGO/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/PATH/TO/DJANGO/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/home/aeby/workspace/atizo/src/atizo/platform/models/__init__.py", line 14, in <module> from atizo.platform.models.country import Country File "/home/aeby/workspace/atizo/src/atizo/platform/models/country.py", line 16, in <module> from atizo.platform.models.multilang_text import MultilangText File "/home/aeby/workspace/atizo/src/atizo/platform/models/multilang_text.py", line 57, in <module> admin.site.register(MultilangText, MultilangTextAdmin) File "/PATH/TO/DJANGO/django/contrib/admin/sites.py", line 91, in register validate(admin_class, model) File "/PATH/TO/DJANGO/django/contrib/admin/validation.py", line 22, in validate models.get_apps() File "/PATH/TO/DJANGO/django/db/models/loading.py", line 97, in get_apps self._populate() File "/PATH/TO/DJANGO/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/PATH/TO/DJANGO/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/home/aeby/workspace/atizo/src/atizo/../atizo/channels/models/__init__.py", line 15, in <module> from channel import Channel File "/home/aeby/workspace/atizo/src/atizo/../atizo/channels/models/channel.py", line 40, in <module> admin.site.register(Channel, ChannelAdmin) File "/PATH/TO/DJANGO/django/contrib/admin/sites.py", line 91, in register validate(admin_class, model) File "/PATH/TO/DJANGO/django/contrib/admin/validation.py", line 22, in validate models.get_apps() File "/PATH/TO/DJANGO/django/db/models/loading.py", line 97, in get_apps self._populate() File "/PATH/TO/DJANGO/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/PATH/TO/DJANGO/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/home/aeby/workspace/atizo/src/atizo/../atizo/projects/models/__init__.py", line 15, in <module> from idea import Idea File "/home/aeby/workspace/atizo/src/atizo/projects/models/idea.py", line 16, in <module> from atizo.platform.models.language import Language File "/home/aeby/workspace/atizo/src/atizo/../atizo/platform/models/language.py", line 37, in <module> admin.site.register(Language, LanguageAdmin) File "/PATH/TO/DJANGO/django/contrib/admin/sites.py", line 91, in register validate(admin_class, model) File "/PATH/TO/DJANGO/django/contrib/admin/validation.py", line 22, in validate models.get_apps() File "/PATH/TO/DJANGO/django/db/models/loading.py", line 97, in get_apps self._populate() File "/PATH/TO/DJANGO/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/PATH/TO/DJANGO/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/home/aeby/workspace/atizo/src/atizo/personal/models/__init__.py", line 19, in <module> from userprofile import UserProfileUrl File "/home/aeby/workspace/atizo/src/atizo/personal/models/userprofile.py", line 21, in <module> from atizo.platform.models.country import Country ImportError: cannot import name Country }}} It seems to be quite hard to locate the problem :( | nobody | aeby | introspect models admin validation | 0 | 0 | 0 | 0 | 0 | 0 | ||
8616 | 2008-08-27 14:54:33 | 2009-10-21 01:41:11 | 2022-03-06 03:42:43.519815 | Accepted | closed | contrib.sessions | dev | fixed | File-based sessions dropped with SESSION_SAVE_EVERY_REQUEST = True | When using django.contrib.sessions.backends.file with SESSION_SAVE_EVERY_REQUEST = True, repeated requests for the same session that arrive very close together will cause corruption in the session file and result in a dropped session. The recent changes in the session framework went a long ways in resolving this issue, but not quite far enough. To resolve the problem, I tried using django.core.files.locks to lock the file when open for reading or writing. However, this proved not sufficiently atomic. The problem can be resolved using the atomic file locking flags when opening the session file for reading or writing. Unfortunately, these are not available on all platforms. The attached patch uses them if they are available. This fixes the problem on platforms that support the atomic file locking flags. | jacob | warren@wandrsmith.net | session, file, race | 0 | 1 | 0 | 1 | 0 | 0 | ||
8617 | 2008-08-27 15:04:43 | 2011-09-28 16:12:17 | 2022-03-06 03:42:43.669155 | Ready for checkin | closed | contrib.formtools | dev | fixed | wizard_error string in form wizard is not marked for translation | The wizard_error message that is optionally displayed when the security hash fails is not marked for translation. | nobody | bthomas | 0 | 1 | 0 | 0 | 0 | 0 | |||
8618 | 2008-08-27 19:17:24 | 2014-08-11 14:21:18 | 2022-03-06 03:42:43.846234 | Accepted | closed | Database layer (models, ORM) | New feature | Normal | dev | duplicate | Many-to-many intermediary tables can't have multiple foreign keys to source/target models | The following schema: {{{ from django.db import models class Person(models.Model): name = models.CharField(max_length=100) vacations = models.ManyToManyField('Location', through='Vacation', blank=True) class Location(models.Model): city = models.CharField(max_length=100) country = models.CharField(max_length=100) class Vacation(models.Model): person = models.ForeignKey(Person) location = models.ForeignKey(Location) date = models.DateField() travel_agent = models.ForeignKey(Person, related_name='booked_vacations') }}} doesn't pass validation because "Intermediary model Vacation has more than one foreign key to Person, which is ambiguous and is not permitted." It looks to me like the only reason for this error is because django doesn't have a way to specify which foreign keys on the intermediary model are relevant (or that there is no default behavior specified). There's obviously more than one way around this, and probably someone can come up with a nicer example schema than I did. The simplest thing would be to get rid of that validation check, which (i think) would cause django to use the first key found for each model. | nobody | coda | m2m intermediary validation | 0 | 0 | 0 | 0 | 0 | 0 |
8619 | 2008-08-27 19:45:49 | 2011-06-01 13:55:11 | 2022-03-06 03:42:44.004915 | Someday/Maybe | closed | contrib.formtools | New feature | Normal | dev | fixed | Allow FormWizard to accept classes or instances | This is a feature request for !FormWizard to take instances of Forms rather than just callable classes. This will allow modification of the form_list in process_step to give extra arguments to Form instances (such as to specify dynamic field creation). I am not entirely sure how to accomplish this, or I would include a patch. I think it would involve some introspection work to figure out if the object is callable hasattr('callable')? If someone can point me in the right direction, I can make the patch for this. | nobody | rokclimb15 | 0 | 0 | 0 | 0 | 0 | 0 | |
8620 | 2008-08-27 20:17:11 | 2014-05-24 12:12:51 | 2022-03-06 03:42:44.148651 | Accepted | closed | Forms | New feature | Normal | dev | fixed | ModelForm.Meta.exclude only excludes model fields, not form fields | If I have a ModelForm that inherits from another form, and I define exclude and/or fields, these only affect fields on the model. I cannot use them to exclude any non-model fields that I may have added to the ancestor form. E.g.: {{{ class AForm(ModelForm): extra_non_model_field = forms.CharField() class BForm(AForm): class Meta: model = Foo exclude = ('extra_non_model_field',) # this doesn't work, due to the way ModelFormMetaclass.__new__ is written }}} Sure that's a pathological example, but there are more sensible situations in which this is an issue. Seems to me it's more intuitive to expect the exclude/fields options to affect all fields, not just model fields. A fix would be to add this at django/forms/models.py line 180: {{{ [declared_fields.pop(f) for f in declared_fields.keys() if f not in opts.fields or f in opts.exclude] }}} | loic84 | levity | 0 | 1 | 0 | 0 | 0 | 0 | |
8621 | 2008-08-27 20:56:50 | 2008-08-28 02:12:16 | 2022-03-06 03:42:44.291449 | Unreviewed | closed | contrib.comments | dev | worksforme | Error in contrib.comments: | Caught an exception while rendering: Could not import django.contrib.comments.views.userflags. Error was: cannot import name ModeratorDeletion Traceback is this: Original Traceback (most recent call last): File "/home/xxx/project/trunk/django/template/debug.py", line 71, in render_node result = node.render(context) File "/home/xxx/project/trunk/django/template/defaulttags.py", line 365, in render return reverse(self.view_name, args=args, kwargs=kwargs) File "/home/xxx/project/trunk/django/core/urlresolvers.py", line 307, in reverse *args, **kwargs))) File "/home/xxx/project/trunk/django/core/urlresolvers.py", line 289, in reverse if lookup_view in self.reverse_dict: File "/home/xxx/project/trunk/django/core/urlresolvers.py", line 225, in _get_reverse_dict for key, value in pattern.reverse_dict.iteritems(): File "/home/xxx/project/trunk/django/core/urlresolvers.py", line 228, in _get_reverse_dict self._reverse_dict[pattern.callback] = (pattern,) File "/home/xxx/project/trunk/django/core/urlresolvers.py", line 188, in _get_callback raise ViewDoesNotExist, "Could not import %s. Error was: %s" % (mod_name, str(e)) ViewDoesNotExist: Could not import django.contrib.comments.views.userflags. Error was: cannot import name ModeratorDeletion | nobody | tback | 0 | 0 | 0 | 0 | 0 | 0 | |||
8622 | 2008-08-27 21:03:06 | 2011-09-28 16:12:17 | 2022-03-06 03:42:44.452357 | Unreviewed | closed | File uploads/storage | dev | fixed | Exceptions in UploadHandler cause hang | I ran across this trying to recreate another problem. On Windows, if I set FILE_UPLOAD_TEMP_DIR to reside on a disk that is nearly out of space, and then use the `django.core.files.uploadhandler.TemporaryFileUploadHandler` to handle uploaded files, file uploads will hang. I changed the implementation of write in the Windows implementation of !TemporaryFile in django/core/files/temp.py to be: {{{ def write(self, s): print 'in TemporaryFile(nt), about to call self.file.write(s)' x = self.file.write(s) print 'in TemporaryFile(nt), back from self.file.write(s)' return x }}} and then when I try the upload (using dev server) I see the first print, but not the second. It's not in a hard loop, the CPU is mostly idle, so it's like its waiting for free space. Clearing space on the disk doesn't wake it up, though. | nobody | kmtracey | 0 | 1 | 0 | 0 | 0 | 0 | |||
8623 | 2008-08-27 21:25:48 | 2008-09-10 04:16:40 | 2022-03-06 03:42:44.608334 | Design decision needed | closed | contrib.comments | wontfix | New comments upgrade guide breaks permalinks, views | The SQL provided by the [http://docs.djangoproject.com/en/dev/ref/contrib/comments/upgrade/#upgrading-data comment upgrade guide] does not preserve a comment’s {{{id}}} and therefore breaks most permalinks and any detail view that uses the {{{id}}} to resolve the url. Neither of these cases are absolutely critical because: 1. permalinks using {{{<url>/#<comment_id>}}} still get you to the page, just not the comment, 2. almost no one (I would guess) uses a comment detail view. Further, if someone was using ''both'' comments and free comments it will not be possible to preserve the {{{id}}}’s for both as they are being merged in to one table. But they could choose which one to preserve and do that one first. Unfortunately my SQL-fu is not good enough to write a patch, or even know if preserving the comment’s {{{id}}} is possible. | nobody | benspaulding | sql, comments, docs | 0 | 0 | 0 | 0 | 0 | 0 | |||
8624 | 2008-08-27 22:02:39 | 2011-09-28 16:12:17 | 2022-03-06 03:42:44.764408 | Accepted | closed | Translations | dev | fixed | Updated Hungarian translation for 1.0 | I have updated the Hungarian translation for Django 1.0. Please see the attached file. (djangojs.po is complete) | nobody | szilveszter | 0 | 1 | 0 | 0 | 0 | 0 | |||
8625 | 2008-08-27 22:36:50 | 2011-09-28 16:12:17 | 2022-03-06 03:42:44.905558 | Accepted | closed | Translations | dev | fixed | Updated Hebrew translations | Updated Hebrew translations. This includes the new contrib.comments strings. | nobody | mksoft | 0 | 1 | 0 | 0 | 0 | 0 |