tickets
32,817 rows sorted by easy
This data as json, CSV (advanced)
Suggested facets: type, severity, resolution, easy, needs_better_patch, ui_ux, changetime (date)
created (date) >30 ✖
- 2007-09-14 50
- 2008-09-01 45
- 2008-09-08 45
- 2008-08-27 44
- 2008-09-03 42
- 2008-08-29 39
- 2008-08-28 36
- 2005-07-20 34
- 2008-08-26 34
- 2008-09-02 32
- 2011-06-09 32
- 2008-08-19 31
- 2008-01-28 30
- 2005-07-13 29
- 2008-08-13 29
- 2008-08-11 28
- 2008-08-20 28
- 2008-07-22 27
- 2008-08-14 27
- 2008-08-15 27
- 2005-07-18 26
- 2008-07-19 26
- 2008-08-12 26
- 2008-09-04 26
- 2008-09-10 26
- 2007-12-01 25
- 2011-09-09 24
- 2007-09-10 23
- 2008-07-29 23
- 2008-08-09 23
- …
last_pulled_from_trac (date) 1 ✖
- 2022-03-06 32,817
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4 | 2005-07-13 19:08:10 | 2005-09-16 17:01:24 | 2022-03-06 03:19:23.630870 | Design decision needed | closed | Core (Cache system) | enhancement | normal | duplicate | Add a db cache backend | We should have a db cache backend -- this will be very useful for people who can't/won't run memcached. | jacob | adrian | 0 | 0 | 0 | 0 | ||||
80 | 2005-07-19 05:32:08 | 2005-07-19 17:36:30 | 2022-03-06 03:19:39.487275 | Unreviewed | closed | contrib.admin | defect | critical | worksforme | Browsing to http://127.0.0.1:8000 fails when running django-admin.py runserver | Following the tutorial 2 instructions to run django-admin.py runserver causes the following to be shown in the browser: There's been an error: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 184, in get_response callback, param_dict = resolver.resolve(path) File "/usr/lib/python2.4/site-packages/django/core/urlresolvers.py", line 85, in resolve raise Http404, app_path Http404 This occurs on a Ubuntu 5.04 system running Python 2.4.1, Django SVN version 193. | adrian | pkropf@gmail.com | 0 | 0 | 0 | 0 | ||||
87 | 2005-07-19 16:39:52 | 2007-01-17 22:12:17 | 2022-03-06 03:19:41.019035 | Unreviewed | closed | Database layer (models, ORM) | enhancement | normal | duplicate | [patch] Oracle database support | Here's a patch for Oracle support. | adrian | jrhuggins@thoughtworks.com | oracle database db sequence | 1 | 0 | 0 | 0 | |||
416 | 2005-08-25 09:59:06 | 2006-10-24 20:17:23 | 2022-03-06 03:20:39.092020 | Unreviewed | closed | contrib.admin | task | normal | 0.91 | wontfix | Automate site introspection for url pattern modules, view methods, template directories, and applications | Read this with your best over-the-top advertising voice: Are you sick of maintaining module-level URL configuration files? Do you keep forgetting to refer to them in your site-level URL configuration file? Have you recently forgotten to populate TEMPLATE_DIRS or INSTALLED_APPS? You need AUTOSITE! AUTOSITE has been brought to you by one programmer's bizarre tendency to spend two hours writing 300+ lines of code to replace around 30 lines of code that were taking him less than two minutes per day to maintain. His insanity is YOUR gain. If only 100 Django programmers benefit from this module, all his hard work will have been worthwhile. :) | adrian | garthk@gmail.com | 0 | 0 | 0 | 0 | 0 | ||
542 | 2005-09-23 05:24:09 | 2006-02-27 18:48:00 | 2022-03-06 03:21:00.520827 | Design decision needed | closed | contrib.admin | enhancement | trivial | wontfix | [patch] Add an "or cancel" link to add, edit, and delete admin views. | When creating, editing, or deleting an object in the admin views, it would be nice if there was a "cancel" link to allow the user to "go back safely". Only 4 total lines of code are affected by this change. | wilson | Jason Huggins | cancel link | 1 | 0 | 0 | 0 | |||
672 | 2005-10-21 00:30:17 | 2006-08-05 23:29:39 | 2022-03-06 03:21:23.190560 | Unreviewed | closed | contrib.syndication | enhancement | minor | dev | fixed | get_absolute_url isn't nice | now by this I mean the application should not be required to know where it is installed. get_absolute_url forces the object to know the URL path it is coming in on. what might be nicer would be a get_relative_url which would return the part of the URL that the app is resposible for. so take this URL for an example http://www.lawrence.com/news/2005/oct/15/serenity/ I'm guessing that there is a 'news' app configured here with a 'story' table inside of it. what would be nice is if the 'story' could return '/2005/oct/15/serenity/' and have the framework 'know' that it should be prefixing that with '/news'. It could get this information out of the URL pattern couldn't it? regards and thanks for writing django Ian | adrian | ian@holsman.net | 0 | 0 | 0 | 0 | 0 | ||
824 | 2005-11-17 11:57:53 | 2005-11-21 01:52:52 | 2022-03-06 03:21:44.724462 | Unreviewed | closed | Core (Other) | enhancement | normal | invalid | Need change the Environment variable DJANGO_SETTINGS_MODULE check | If I want to import some django module in IDLE to do some testing work, but I may get follows execption: >>> import django.core.formfields Traceback (most recent call last): File "<pyshell#0>", line 1, in -toplevel- import django.core.formfields File "c:\python24\lib\site-packages\django-0.90-py2.4.egg\django\core\formfields.py", line 1, in -toplevel- from django.core import validators File "c:\python24\lib\site-packages\django-0.90-py2.4.egg\django\core\validators.py", line 28, in -toplevel- from django.conf.settings import JING_PATH File "c:\python24\lib\site-packages\django-0.90-py2.4.egg\django\conf\settings.py", line 29, in -toplevel- raise EnvironmentError, "Environment variable %s is undefined." % ENVIRONMENT_VARIABLE EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined. Can you change the checking to DJANGO_SETTINGS_MODULE? I think if there is no DJANGO_SETTINGS_MODULE Environment variable or command line argument, the django should use current path as the value of DJANGO_SETTINGS_MODULE or omit it at all. That should be better. And I also can import some django module in IDLE without exception. | adrian | limodou@gmail.com | 0 | 0 | 0 | 0 | ||||
915 | 2005-11-26 01:05:51 | 2005-12-01 06:54:58 | 2022-03-06 03:21:58.837231 | Unreviewed | closed | contrib.admin | defect | normal | fixed | Admin breadcrumb links assume app is rooted at /admin/ | Hi, The new admin branch is awesome! However while nothing broke from the previous branch it highlighted a problem with the breadcrumb links. So far I have seen two issues - there may be more: 1. If you change the name of your project to something other than admin - in your urls.py file - then at least the change password/logout links will fail. There are probably others. 2. The default link (in base.html) won't take you to the home admin page. I don't think this is intended as most screens will actually take you to the admin home location, but in some cases it will take you to the server root location. An example is the "confirm delete" page, where the link will be "http://localhost:8000/" using the development server (this may not be a problem in other environments depending on how the web server segments django). Anyway, throughout template code the href links look quite "fragile" - relative links so they assume certain locations, etc. I wonder if there is a solution (using, say, template tags) that will offer the project name, app name, module and/or action to help direct. I guess this still assumes certain locations but might be a little less likely to fail under some modifications. | adrian | oggie rob | 0 | 0 | 0 | 0 | ||||
1021 | 2005-12-07 22:27:19 | 2010-01-05 13:17:13 | 2022-03-06 03:22:15.724932 | Accepted | closed | Validators | defect | major | dev | fixed | [PATCH] unique_together should check the uniqueness in the validation phase | something like this should be in the default framework whenever someone has a 'unique_together' meta option in their model {{{ def _manipulator_validate_name(self, field_data, all_data): from django.core import validators if str(self.__class__) == "django.models.tags.TagManipulatorAdd": cursor= db.cursor() cursor.execute(""" SELECT 1 FROM conf_tags WHERE name=%s and type_id=%s LIMIT 1 """ ,[ all_data['name'], all_data['type'] ]) if cursor.fetchone(): raise validators.ValidationError, "A tag with this name and type already exists." }}} | nobody | Ian@Holsman.net | model-validation | 1 | 1 | 0 | 0 | ||
1245 | 2006-01-19 11:02:19 | 2006-04-21 17:04:03 | 2022-03-06 03:22:50.102717 | Unreviewed | closed | contrib.admin | defect | major | 0.91 | fixed | [patch] Admin interface broken for OneToOne relations | We inserted the Places and Restaurantes code verbatim as in example [http://www.djangoproject.com/documentation/models/one_to_one/]. We addes META classes with an admin attribute (only), to activate the Admin interface. If we try to administer the Restaurants objects, we got this error on Postgresql: {{{ ProgrammingError at /admin/exemplemodel/restaurants/ ERROR: missing FROM-clause entry for table "exemplemodel_places" SELECT "exemplemodel_restaurants"."place_id","exemplemodel_restaurants"."serves_hot_dogs","exemplemodel_restaurants"."serves_pizza" FROM "exemplemodel_restaurants" ORDER BY "exemplemodel_places"."id" DESC ) }}} If the Postgres database is configured with "add_missing_from = true", which is the default, you don't get any error but Restaurants lines get listed twice, because of a cartesian product between the two tables. We think that the ORDER BY clause is generated incorrectly, citing the wrong table/object. We're using Django 0.91. | adrian | gattomatto | 1 | 0 | 0 | 0 | |||
1254 | 2006-01-20 13:09:49 | 2006-01-20 13:20:00 | 2022-03-06 03:22:51.451436 | Unreviewed | closed | Template system | enhancement | normal | invalid | %ssi tag only includes hard-coded filenames | The %ssi tag (this could be extended to other inclusion tags as well) only allows hard-coded filenames limiting the usability of the tag. Typical use case: I would like to include some info I have in files based on e.g. article number like. {%ssi {{basepath}}/text/um-{{article_id}}.txt %} which does not work. This is currently not supported. Why? | adrian | ivo.munoz@gmail.com | 0 | 0 | 0 | 0 | ||||
1635 | 2006-04-13 14:36:53 | 2007-10-12 18:47:12 | 2022-03-06 03:23:52.584368 | Accepted | closed | contrib.admin | defect | normal | 0.91 | fixed | [patch] Related object popup fails for edit_inline objects in IE/Win | … because IE/Win coughs on periods in the window name. [716] fixed a similar issue, but the equivalent code in the functions `showRelatedObjectLookupPopup()` and `dismissRelatedLookupPopup()` was not updated. Patch in a sec (actually against magic-removal, but should also apply to trunk AFAICT). | adrian | Christopher Lenz <cmlenz@gmx.de> | 1 | 0 | 0 | 0 | |||
1732 | 2006-05-01 12:48:38 | 2006-05-26 19:28:56 | 2022-03-06 03:24:08.217526 | Unreviewed | closed | contrib.admin | enhancement | minor | magic-removal | fixed | MR branch #2799, user stupidity in models.py leads to mysteriously missing tables list in admin view | This is definitely a user error, but the failure is silent which was confusing for a few minutes... While developing a complex model.py, I introduced a bogus casePCPid = models.CharacterField('PCP',maxlength=20,blank=True) instead of casePCPid = models.CharField('PCP',maxlength=20,blank=True) Stupidity - all my own fault. Unfortunately, 0 errors are reported when manage.py runserver checks the models, but none of the application tables showed up in the admin list. Took a while to track down and might be a trap for young players (like me)... I'll take a poke at it but this is probably a fix someone familiar with the model checking code will need to make. This is with the latest MR branch svn - I was using an older one but updated - same problem - models validate ok but the admin is missing ALL the tables. | adrian | ross.lazarus@gmail.com | 0 | 0 | 0 | 0 | |||
1808 | 2006-05-08 14:02:50 | 2007-03-07 17:03:44 | 2022-03-06 03:24:20.164510 | Unreviewed | closed | contrib.admin | defect | normal | dev | worksforme | ForeignKey fields produce errors when subobjects do not have Admin interfaces themselves | If a model contains other models using ForeignKey fields, and the submodels don't have have their own explicit Admin interface (ie, have "class Admin" in their class definitions), then creating those subobjects will produce an the following kind of error: {{{ Traceback (most recent call last): File "/usr/local/src/django/svn-trunk/django/core/handlers/base.py" in get_response 74. response = callback(request, *callback_args, **callback_kwargs) File "/usr/local/src/django/svn-trunk/django/contrib/admin/views/decorators.py" in _checklogin 54. return view_func(request, *args, **kwargs) File "/usr/local/src/django/svn-trunk/django/views/decorators/cache.py" in _wrapped_view_func 40. response = view_func(request, *args, **kwargs) File "/usr/local/src/django/svn-trunk/django/contrib/admin/views/main.py" in add_stage 299. return render_change_form(model, manipulator, c, add=True) File "/usr/local/src/django/svn-trunk/django/contrib/admin/views/main.py" in render_change_form 196. field_sets = opts.admin.get_field_sets(opts) AttributeError at /admin/polls/license/add/ 'NoneType' object has no attribute 'get_field_sets' }}} This error was generated for the following model. In this case, adding an "Institution" will work, but adding a "License" will produce the above error. Also, there's no way to add an "Operating System" for the same reason. All work correctly if the subobjects are explicitly declared to have Admin interfaces. {{{ from django.db import models class Institution(models.Model): name = models.CharField(maxlength=200, core=True) reference_url = models.CharField(maxlength=200, core=True) class Admin: # because of this field, no error here pass def __repr__(self): return self.name class License(models.Model): # no Admin class will produce an error when added title = models.CharField(maxlength=200) reference_url = models.URLField() description = models.TextField() def __repr__(self): return… | adrian | mhalle@bwh.harvard.edu | 0 | 0 | 0 | 0 | |||
2134 | 2006-06-11 21:53:09 | 2008-08-25 22:21:40 | 2022-03-06 03:25:11.743288 | Accepted | closed | contrib.comments | enhancement | minor | dev | invalid | [patch] add comment object to comments/posted template | This patch against django svn 20060611 adds the freshly posted comment to the 'posted' template thus allowing to show the comment or link via an anchor to the comment. E.g. <a href="{{ object.get_absolute_url }}#comment-{{ comment.id }}">View Comment</a> Get it at http://c0re.23.nu/c0de/misc/django-20060611-comment-link.patch | nobody | md@hudora.de | 1 | 0 | 0 | 0 | |||
2140 | 2006-06-12 18:19:14 | 2010-04-06 13:04:57 | 2022-03-06 03:25:12.642553 | Accepted | closed | contrib.admin | defect | normal | dev | fixed | short_description in admin for get_absolute_url doesn't work due to currying | If a method is used in 'list_display' of the Admin interface, that method should have a short_description function attribute, for use as the header for the field. This doesn't work for get_absolute_url. A work around is to call the get_absolute_url from another method and use that method in list_display, so I give it lowest priority. | nobody | Rudolph | nfa-changelist | 0 | 0 | 0 | 0 | ||
2187 | 2006-06-18 09:35:46 | 2006-06-19 17:18:20 | 2022-03-06 03:25:19.750411 | Unreviewed | closed | *.djangoproject.com | enhancement | normal | wontfix | trac - Add comments to wiki pages. | I'm not a trac confident user, so maybe this problem is not a problem at all, and there is a conventional way to solve it: I'd like to use comments in wiki page sources. The only way I have discovered is using the AddCommentMacro, which however is not installed in your trac setup. Would it be possible to have it? | adrian | paolo <paolo@php3.it> | 0 | 0 | 0 | 0 | ||||
2228 | 2006-06-24 07:05:29 | 2011-09-28 16:12:16 | 2022-03-06 03:25:25.141342 | Design decision needed | closed | contrib.comments | enhancement | normal | wontfix | [patch] Add e-mail and URL to free comments | Replaces #2184 due to comment spam. This patch adds the ability for comments to accept a person's e-mail address and/or URL, optionally. This is a feature found in most comment systems and would be very useful in Django. The current patch doesn't validate e-mail addresses or URLs, because I'm not too sure where I should do that. | adrian | Tyson Tate <tyson@fallingbullets.com> | 1 | 0 | 0 | 0 | ||||
2238 | 2006-06-26 08:35:02 | 2010-02-23 14:30:25 | 2022-03-06 03:25:26.640158 | Unreviewed | closed | Database layer (models, ORM) | enhancement | normal | wontfix | select_related should fetch reverse relations | select_related on a certain model A only fetches tables that are referenced from within that model A. i think it should also fetch those models B that define a relation to A. | adrian | derelm | 0 | 0 | 0 | 0 | ||||
2405 | 2006-07-23 20:11:36 | 2006-07-23 23:14:37 | 2022-03-06 03:25:55.351631 | Unreviewed | closed | Contrib apps | defect | normal | fixed | [patch] django.contrib.auth.views.logout causes recursion error | This is related to #2368 because that patch now catches the KeyError it is not passed to the view that was depending on it. So it looks like the view no longer needs the try catch. The current state of Django is that when I try to logout I get recursive calls to logout. [23/Jul/2006 13:40:11] "GET /accounts/logout/ HTTP/1.1" 302 0 [23/Jul/2006 13:40:11] "GET /accounts/logout/ HTTP/1.1" 302 0 [23/Jul/2006 13:40:11] "GET /accounts/logout/ HTTP/1.1" 302 0 [23/Jul/2006 13:40:11] "GET /accounts/logout/ HTTP/1.1" 302 0 [23/Jul/2006 13:40:11] "GET /accounts/logout/ HTTP/1.1" 302 0 | adrian | anonymous | 1 | 0 | 0 | 0 | ||||
2407 | 2006-07-24 01:51:13 | 2010-10-05 00:56:30 | 2022-03-06 03:25:55.653654 | Design decision needed | closed | Core (Other) | enhancement | normal | 1.1 | wontfix | CGI Support for django | The attached files add CGI support for django. Maybe this is useful for somebody else as well. | nobody | Martin Glueck <martin.glueck@gmail.com> | cgi | 1 | 1 | 1 | 0 | ||
2705 | 2006-09-12 15:48:54 | 2011-04-20 20:42:07 | 2022-03-06 03:26:46.091777 | Accepted | closed | Database layer (models, ORM) | New feature | Normal | dev | fixed | [patch] Add optional FOR UPDATE clause to QuerySets | SQL supports the "FOR UPDATE" clause for SELECT statements to allow for pre-emptive locking. The addition of for_update() for use with get() database operations would greatly enhance Django's transaction support. As articulated by Michael Radziej on django-users: {{{ something = models.Something.get(id=333).for_update() # --> django issues: SELECT * FROM something FOR UPDATE something.count +=1 something.save() # --> django issues: UPDATE SOMETHING SET ... }}} Suggesting EITHER: * for_update method to extend all 'get'-like statements * get_for_update to supplement other 'get'-like statements | brunobraga | Hawkeye | 1 | 0 | 0 | 0 | |||
2959 | 2006-10-25 07:04:24 | 2008-01-16 04:48:15 | 2022-03-06 03:27:25.166028 | Unreviewed | closed | Core (Other) | defect | normal | 0.95 | invalid | Capital letters in app name break syncdb | create an app as in tutorial 1, but capitalize Polls: {{{ python manage.py startapp Polls >cd Polls; cat > models.py from django.db import models class Poll(models.Model): question = models.CharField(maxlength=200) pub_date = models.DateTimeField('date published') ^D >cd .. (add 'mysite.Polls' to settings.py INSTALLED_APPS) >manage.py syncdb Creating table Polls_poll Adding permission 'poll | Can add poll' Adding permission 'poll | Can change poll' Adding permission 'poll | Can delete poll' >manage.py syncdb Creating table Polls_poll Traceback ... raise errorclass, errorvalue _mysql_exceptions.OperationalError: (1050, "Table 'polls_poll' already exists") }}} | adrian | Yary | 0 | 0 | 0 | 0 | |||
3179 | 2006-12-21 22:13:37 | 2007-01-23 12:25:44 | 2022-03-06 03:28:02.274710 | Unreviewed | closed | Database layer (models, ORM) | defect | normal | dev | wontfix | PostgreSQL backend reporting "SET TIME ZONE" error instead of the real error | Hello, I use svn-version Django and @login_required decorator. I got before public login-screen (login to admin works good): {{{ File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 299, in HandlerDispatch result = object(req) File "/usr/lib/python2.4/site-packages/django/core/handlers/modpython.py", line 177, in handler return ModPythonHandler()(req) File "/usr/lib/python2.4/site-packages/django/core/handlers/modpython.py", line 154, in __call__ response = middleware_method(request, response) File "/usr/lib/python2.4/site-packages/django/contrib/sessions/middleware.py", line 81, in process_response session_key = request.session.session_key or Session.objects.get_new_session_key() File "/usr/lib/python2.4/site-packages/django/contrib/sessions/models.py", line 21, in get_new_session_key self.get(session_key=session_key) File "/usr/lib/python2.4/site-packages/django/db/models/manager.py", line 67, in get return self.get_query_set().get(*args, **kwargs) File "/usr/lib/python2.4/site-packages/django/db/models/query.py", line 211, in get obj_list = list(clone) File "/usr/lib/python2.4/site-packages/django/db/models/query.py", line 103, in __iter__ return iter(self._get_data()) File "/usr/lib/python2.4/site-packages/django/db/models/query.py", line 430, in _get_data self._result_cache = list(self.iterator()) File "/usr/lib/python2.4/site-packages/django/db/models/query.py", line 170, in iterator cursor = connection.cursor() File "/usr/lib/python2.4/site-packages/django/db/backends/postgresql/base.py", line 47, in cursor cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE]) ProgrammingError: ERROR: current transaction is aborted, commands ignored until end of transaction block SET TIME ZONE 'Europe/Warsaw' }}} What can I do? | adrian | anonymous | 0 | 0 | 0 | 0 | |||
3183 | 2006-12-24 03:57:05 | 2007-02-01 22:21:37 | 2022-03-06 03:28:02.914180 | Unreviewed | closed | Validators | defect | normal | dev | worksforme | manage.py doesn't like international keyboard input | Using the ISO Spanish keyboard input on MacOS 10.4.3 w/Python 2.4, here's what happened: {{{ You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now? (yes/no): yes Username (Leave blank to use 'xxxxx'): E-mail address: mark@xxxxx.com Error: That e-mail address is invalid. }}} Changed the keyboard input to U.S: {{{ E-mail address: mark@xxxxx.com Password: Password (again): Superuser created successfully. }}} | adrian | mark@duopixel.com | manage.py, validation | 0 | 0 | 0 | 0 | ||
3219 | 2007-01-02 22:22:19 | 2007-02-19 14:18:40 | 2022-03-06 03:28:08.618036 | Unreviewed | closed | Core (Other) | defect | normal | wontfix | Invalid admin attribute should not cause a metaclass error | When a invalid admin attribute is used a metaclass error is raised. Example: {{{ class BadAdminOption(models.Model): name = models.CharField(maxlength=30) class Admin: nonexistent = 'option' }}} Expecting Error:: {{{ "admin" attribute, if given, must be set to a models.AdminOptions() instance. }}} Actual Error:: {{{ Error when calling the metaclass bases __init__() got an unexpected keyword argument 'nonexistent' }}} | adrian | Robert Myers <myer0052@gmail.com> | 0 | 0 | 0 | 0 | ||||
3221 | 2007-01-02 23:28:47 | 2009-07-12 13:35:01 | 2022-03-06 03:28:08.938803 | Accepted | closed | Core (Other) | enhancement | minor | fixed | [patch] unhelpful error message when include() set incorrectly | instead of 'module' has no attribute 'urlpatterns', a more useful error message would be nice to have, as I just wasted 30 mins of time just to notice I forgot to append .urls in an include() in urlconf. I've patched my django.core.urlresolvers with this: {{{ Index: urlresolvers.py =================================================================== --- urlresolvers.py (wersja 4270) +++ urlresolvers.py (kopia robocza) @@ -157,6 +157,8 @@ match = self.regex.search(path) if match: new_path = path[match.end():] + if not hasattr(self.urlconf_module, 'urlpatterns'): + raise AttributeError('urlpatterns in module %s not found, is the parent urlconf correct?'%self.urlconf_module.__name__) for pattern in self.urlconf_module.urlpatterns: try: sub_match = pattern.resolve(new_path) }}} | oggie_rob | imbaczek@gmail.com | 1 | 0 | 0 | 0 | ||||
3502 | 2007-02-15 21:00:53 | 2007-10-20 14:54:38 | 2022-03-06 03:28:52.848288 | Ready for checkin | closed | Contrib apps | dev | fixed | Added "Time To Live" option to RSS2.1 | Looking through the documentation I found no instance of the "time to live" option for the RSS2.0+ which is needed by some readers. I have attached two diff files of the modified files from SVN revision r4489. | toke | jason.sidabras@gmail.com | syndication, sprintsept14 | 1 | 0 | 0 | 0 | ||||
3658 | 2007-03-06 04:58:35 | 2007-03-08 08:56:34 | 2022-03-06 03:29:20.706885 | Ready for checkin | closed | Documentation | dev | fixed | Expand triage docs to discuss resolution states | It appears that the ticket resolution states is causing a bit of confusion (e.g. see the last few comments on #2724), so we should clarify this in the contributing docs. | jacob | Simon G. <dev@simon.net.nz> | docs, contributing, triage | 1 | 0 | 0 | 0 | ||||
3888 | 2007-03-31 19:09:41 | 2019-08-30 06:45:22 | 2022-03-06 03:29:55.506517 | Unreviewed | closed | Template system | dev | wontfix | Allow {# comment #} tag to be multiline | This template: {{{ {{ "begin" }}{# #} this text is never displayed {{ "end" }} #}() }}} Produces this output: {{{ beginend }}} But it should produce this output: {{{ begin this text is never displayed end }}} | adrian | tonnzor | 0 | 0 | 0 | 0 | |||||
4113 | 2007-04-22 00:19:16 | 2007-09-14 17:44:54 | 2022-03-06 03:30:30.431142 | Design decision needed | closed | Core (Other) | dev | duplicate | dynamic destinations for FileField.upload_to | From my experience, the current setup for the FileField and ImageField attribute "upload_to" is too inflexible. While save_FIELD_file is very quick and easy, telling the core where to put that file is not. I think giving another class contribution could make things much more flexible. I believe usage akin to this would work sufficiently: {{{ #!python class TestModel(Model): file = FileField() some_number = 145 t = TestModel() t.set_file_upload_to("desired/path/%s/" % some_number) }}} Giving the programmer the ability to change the destination folder on the fly would allow for more dynamic destinations. You'd be able to use IDs from other objects and use them here. | nobody | August Bigelow <wip@rpgmaker.net> | 0 | 0 | 0 | 0 | |||||
4164 | 2007-04-26 17:40:40 | 2007-04-27 12:16:22 | 2022-03-06 03:30:39.558158 | Accepted | closed | Template system | dev | fixed | Inaccurate tags recognition | Template lexer's check for tags is inaccurate - it checks only the beginning of the tag, not the ending and / or content. Sample template: {{{ {{ "some text" #} }}} This will result: {{{ some text }}} But it should produce: {{{ {{ "some text" #} }}} | anonymous | tonnzor <tonn81@gmail.com> | 0 | 0 | 0 | 0 | |||||
4245 | 2007-05-08 19:51:43 | 2007-09-14 21:48:50 | 2022-03-06 03:30:53.560969 | Ready for checkin | closed | Documentation | fixed | add documentation solving "permission denied" with start-project on OSX | I followed these instructions to the letter, but I get "Permission Denied" when I try to run "django-admin.py startproject". Maybe it would help to add a brief section on fixing OS X permissions if the installer doesn't set them properly. | nobody | jacob@gridface.com | install project create startproject sprintsept14 | 1 | 0 | 0 | 0 | |||||
4412 | 2007-05-29 05:17:50 | 2011-09-28 16:12:16 | 2022-03-06 03:31:22.662957 | Accepted | closed | Forms | dev | fixed | Allow Select and SelectMultiple widgets to render HTML optgroups from nested choices structures | if the label of a choices iterable is a list or tuple, treat that option as an option group with the value as the label. this shouldn't break any backwards compatibility and negates the need for a separate SelectGrouped widget (which has been previously rejected). | SmileyChris | mrmachine | newforms select widget nested choices optgroup | 1 | 0 | 0 | 0 | ||||
4453 | 2007-06-01 14:58:25 | 2007-06-25 04:34:34 | 2022-03-06 03:31:29.733560 | Accepted | closed | Uncategorized | dev | fixed | url pattern name can contain dots, but reverse('pattern.name.with.dots') will always fail | It seems somewhat natural to include dots in URL pattern names in an effort to avoid name clashes. However, the reverse resolver will always fail to find the correct URL pattern if that is done. | jacob | forest@alittletooquiet.net | url reverse dot | 0 | 0 | 0 | 0 | ||||
4916 | 2007-07-18 15:08:36 | 2007-09-11 03:58:51 | 2022-03-06 03:32:57.958219 | Design decision needed | closed | Documentation | dev | wontfix | feature request: add url to ticket description | part of the footer is If you notice errors with this documentation, please <a href="http://code.djangoproject.com/simpleticket?component=Documentation"> open a ticket</a> and let us know! It wold be nice if that would also include the URL the page was on (example: http://www.djangoproject.com/documentation/model-api ) and have the 'new ticket' description default to it. | jacob | Carl Karsten <carl@personnelware.com> | 0 | 0 | 0 | 0 | |||||
5171 | 2007-08-15 23:47:41 | 2010-10-12 14:17:32 | 2022-03-06 03:33:43.496965 | Design decision needed | closed | Database layer (models, ORM) | dev | wontfix | postgresql_psycopg2 backend registers psycopg2's UNICODE extension, which can cause interference if Django is not the only component using psycopg2 | This one led me on a wild goose chase. I am trying to use SQLAlchemy alongside Django. Here's the problem: The default encoding for a psycopg2 connection is "SQL_ASCII". And, by default, psycopg2 ''accepts'' and ''passes back'' non-Unicode strings (i.e., Python {{{str}}} objects, not {{{unicode}}} objects). SQLAlchemy works okay using this setup, as it does conversion between {{{unicode}}} objects and utf-8-encoded {{{str}}} objects as data passes to and from the database. Django, however, seems to rely on psycopg2 to do the conversions; so, it registers psycopg2's "UNICODE" extension: {{{ psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) }}} This is done in {{{django/db/backends/postgresql_psycopg2/base.py}}}, upon loading that module. When this option is set, psycopg2 tries to convert all results to {{{unicode}}} objects. If the default encoding, "SQL_ASCII", is in use, this will cause {{{UnicodeDecodeError}}}'s to be raised upon attempting to pull out some non-ASCII text from the database... However, this is okay for Django's personal needs, because it also sets the ''client encoding'' for its psycopg2 database connection: {{{ self.connection.set_client_encoding('UTF8') }}} This change, however, only affects the given {{{connection}}} object, which is local to Django. Unfortunately, SQLAlchemy does not set the ''client encoding'' for its connections. So, by registering psycopg2's UNICODE extension, Django places a restriction on all psycopg2 connections that wish to deal with Unicode: all of the connections must {{{set_client_encoding}}} to UTF8 (or perhaps another Unicode encoding). This doesn't sound like a big deal, but: * it would take some serious hack-arounds to make sure SQLAlchemy's psycopg2 connections all use the right encoding (i.e., call {{{connection.set_client_encoding('utf8')}}}), and * this can lead to ''very difficult to trackdown'' problems. This "bug" led to some especially odd behavior, in my case. I was finding that, early on in my test sc… | nobody | Chris Wagner <cw264701@ohio.edu> | 0 | 0 | 0 | 0 | |||||
5687 | 2007-10-04 20:40:25 | 2007-11-11 04:38:20 | 2022-03-06 03:35:07.387445 | Accepted | closed | Translations | dev | fixed | Swedish Translations patch | Here is a patch for swedish translations for SVN Rev 6453. One reason for this patch is that the translation for the word "e-mail address" was in swedish translated with a colon at the end into "e-postadress:", but there are other grammatical and semantical fixes as well. | nobody | Dmitri Fedortchenko <zeraien@gmail.com> | i18n translation | 1 | 0 | 0 | 0 | ||||
5710 | 2007-10-09 02:42:19 | 2012-03-13 15:40:42 | 2022-03-06 03:35:10.631883 | Ready for checkin | closed | Database layer (models, ORM) | dev | fixed | dumpdata/loaddata fails with many-to-many tables on postgresql | I did a (manage.py) dumpdata then loaddata with some models that had many to many fields. The subsequent loaddata operation failed with an error: {{{ psycopg2.ProgrammingError: relation "keywordsites_site__site__keywords" does not exist. }}} The problem is that the name of the table is reduced to lower case where the name of the table is actually has an uppercase S {{{ keywordsites_site__Site__keywords }}} and further investigation revealed that the generated SQL had the correct capitalisation but the table name was not quoted - hence the problem. The fix is to change line 96 on django/db/backends/postgresql/operations.py to: {{{ output.append("%s setval('%s', coalesce(max(%s), 1), max(%s) %s null) %s \"%s\";" % \ }}} No idea how to make a .diff, sorry, but for a single line I'm sure you can cope. It would be nice to be able to turn WikiFormatting off inline too. | nobody | davep@atomicdroplet.com | manage.py loaddata dumpdata postgresql | 1 | 0 | 0 | 0 | ||||
5822 | 2007-10-26 14:36:12 | 2016-01-13 15:50:58 | 2022-03-06 03:35:28.755705 | Unreviewed | closed | Uncategorized | 0.96 | invalid | Integration of Django and Ajax | Hi, This is Anusha. I am a beginner in using Django. My project's goal is to display dynamic webpages i.e, update the page contents periodically using AJAX technology. I am getting several doubts in the process.I created an application in which I am able to query a database and display the results (http://localhost/cricketInfo/Sachin would display all Sachins profile). But I dont understand how to dynamically update these contents. Assuming that the data modifications occur frequently, so providing dynamic views is of higher priority. My first doubt is that, I didn't understand the underlying client-server architecture i.e, what modules are comprised by the server and client respectively. Secondly,I am using LAMP virtual machine to run my application. Once I start the server(python manage.py runserver 8000), the requests are being accepted only on local machine i.e, I am able to view output only on local machine (http://localhost:8000/cricketInfo/Sachin). I am not able to view the results from any other machine browsers(http://IP:port/cricketInfo/Sachin). Is this because, I am using a virtual machine or should I make any modifications to settings.py or so?? What should I do to make the application accessible from anywhere as www.anu.com/cricketInfo/Sachin like a website. Thirdly, I want to make automatic updates to the page contents periodically using AJAX. For this, should we integrate our AJAX code in templates i.e, html files i.e, html files act as clientside script? Does views.py act as serverside script? If it is so, in case of dynamic updates when we make a xmlHttpRequest how does the server make out which function should be executed in the views.py? [ As the AJAX request : xmlHttp.open("GET","server-side script -- views.py",true) ] I donno if they are very silly doubts, but I am not able to proceed further. I would be very glad if you can clarify them for me. Regards, Anusha | nobody | kalnasha@yahoo.co.in | 0 | 0 | 0 | 0 | |||||
6186 | 2007-12-11 18:25:21 | 2007-12-11 19:04:22 | 2022-03-06 03:36:27.817558 | Unreviewed | closed | Uncategorized | dev | invalid | New signal needed - post_create | Well, i was thinking, if there is a post_delete signal, why not a post_create signal? Like, if someone wants something to be executed when a model is created agains the database, and NOT when it is saved! It would be very useful for counters, for example. | nobody | italomaia | signals | 0 | 0 | 0 | 0 | ||||
6390 | 2008-01-16 12:09:18 | 2011-09-28 16:12:16 | 2022-03-06 03:37:00.895330 | Design decision needed | closed | Uncategorized | dev | wontfix | File storage backend for Amazon S3 | Based on the work in #5361, this ticket offers a storage backend for Amazon's [http://www.amazon.com/s3 Simple Storage Service]. | david | Gulopine | fs-rf-docs | 1 | 1 | 1 | 1 | ||||
6406 | 2008-01-17 20:10:25 | 2011-09-28 16:12:16 | 2022-03-06 03:37:03.539373 | Accepted | closed | contrib.admin | newforms-admin | duplicate | form_save_add and form_save_change method for ModelAdmin | ModelAdmin calls form.save() inside the save_add method: {{{ def save_add(self, request, model, form, formsets, post_url_continue): ... new_object = form.save(commit=True) if formsets: for formset in formsets: formset.instance = new_object formset.save() pk_value = new_object._get_pk_val() ... }}} I want to be able to hack the form.save method and calculate aditional data to the object based on the request. Basically, I want to attach the request.user to an attribute of my just added object. I have a solution, I can call a save_form_add method of ModelAdmin that saves the form: {{{ def save_add(self, request, model, form, formsets, post_url_continue): ... new_object = self.save_form_add(request, model, form, formsets, post_url_continue) pk_value = new_object._get_pk_val() ... def save_form_add(self, request, model, form, formsets, post_url_continue): new_object = form.save(commit=True) if formsets: for formset in formsets: formset.instance = new_object formset.save() return new_object }}} This way I can do something like this: {{{ class ObjectOptions(admin.ModelAdmin): def form_save_add(self, request, model, form, formsets, post_url_continue): new_object = form.save(commit=False) new_object.user = request.user new_object.save() if formsets: for formset in formsets: formset.instance = new_object formset.save() return new_object }}} I didn´t find any other solution to intercept the object save and have access to the request. What do you think about the addition of save_form_add and save_form_change? I will write the proper patch. Best regards! | nobody | michelts | form object save commit | 0 | 0 | 0 | 0 | ||||
6537 | 2008-02-02 18:06:48 | 2008-09-04 15:02:11 | 2022-03-06 03:37:23.663744 | Accepted | closed | Core (Other) | dev | duplicate | Unhelpful error message: 'tuple index out of range' | There's something evidently wrong with my urls.py, but this error message is absolutely no help in sorting it out. Please have it output ''which tuple'' it's trying to index. The error message is providing no context, and unlike normal python tracebacks it is not tied to a particular line in my urls.py. {{{ Traceback (most recent call last): File "c:\django\django\core\servers\basehttp.py", line 277, in run self.result = application(self.environ, self.start_response) File "c:\django\django\core\servers\basehttp.py", line 631, in __call__ return self.application(environ, start_response) File "c:\django\django\core\handlers\wsgi.py", line 205, in __call__ response = self.get_response(request) File "c:\django\django\core\handlers\base.py", line 130, in get_response callback, param_dict = resolver.resolve500() File "c:\django\django\core\urlresolvers.py", line 275, in resolve500 return self._resolve_special('500') File "c:\django\django\core\urlresolvers.py", line 264, in _resolve_special callback = getattr(self.urlconf_module, 'handler%s' % view_type) File "c:\django\django\core\urlresolvers.py", line 255, in _get_urlconf_module raise ImproperlyConfigured, "Error while importing URLconf %r: %s" % (self.urlconf_name, e) ImproperlyConfigured: Error while importing URLconf 'reports.urls': tuple index out of range }}} Here's the urls.py that is evidently not acceptable, but I cannot see which tuple of tuples of tuples it is trying to index and failing on: {{{ from django.conf.urls.defaults import * import views as views import settings urlpatterns = patterns('', # Example: # (r'^reports/', include('reports.foo.urls')), (r'^$', views.home_page), ) if settings.DEBUG: urlpatterns += patterns('', (r'^images/(?P<path>.*)$', 'django.views.static.serve', {'document_root': 'c:/projects/djcode/reports/images'}), (r'^css/(?P<path>.*)$', 'django.views.static.serve', {'document_root':… | nobody | Michael@Hipp.com | url error message tuple index | 1 | 0 | 0 | 0 | ||||
6590 | 2008-02-12 18:49:06 | 2008-02-14 11:50:29 | 2022-03-06 03:37:31.991155 | Unreviewed | closed | Core (Cache system) | dev | wontfix | Change cache.add to cache.setdefault | Proposal of changing .add to .setdefault before it is adopted. Reason being is consistency. .add has no clear meaning vs .set .setdefault is already used for dictionaries .setdefault clearly states what its doing vs .set | nobody | dcramer | 0 | 0 | 0 | 0 | |||||
6595 | 2008-02-13 14:44:55 | 2008-02-15 11:38:54 | 2022-03-06 03:37:32.649793 | Unreviewed | closed | Documentation | dev | fixed | Use the TEST-NET (192.0.2.0/24) IP address block in examples (nit) | Per [http://tools.ietf.org/html/rfc3330 RFC3330] the IP address block 192.0.2.0/24 has been assigned as "TEST-NET" for use in documentation and example code (instead of coming up with random addresses that might actually belong to someone). The particular instance I found is here: http://www.djangoproject.com/documentation/model-api/#ipaddressfield. In this instance it might also be appropriate to use "e.g." rather than "i.e.". | superjudge | superjudge | 1 | 0 | 0 | 0 | |||||
7355 | 2008-06-03 03:01:45 | 2016-10-05 12:36:32 | 2022-03-06 03:39:25.018349 | Ready for checkin | closed | Core (Other) | dev | fixed | Urlize function in django.utils.html does not properly work on https:// links | Just tested this out on the version of utils/html.py in [7569] urlize() incorrectly adds a http:// to the beginning of a https link To replicate: {{{ >>> from django.utils.html import urlize >>> words = "Hi there https://www.google.com" >>> urlize(words) u'Hi there <a href="http://https://www.google.com">http://https://www.google.com</a>' }}} I did a search in trac for "urlize https" and came up with no hits. As far as I can tell this bug has been around for a while, not sure why no one would've caught this. {{{ Patch: =================================================================== --- html.py (revision 7569) +++ html.py (working copy) @@ -99,7 +99,7 @@ lead, middle, trail = match.groups() if safe_input: middle = mark_safe(middle) - if middle.startswith('www.') or ('@' not in middle and not middle.startswith('http://') and \ + if middle.startswith('www.') or ('@' not in middle and not (middle.startswith('http://') or middle.startswith('https://')) and \ len(middle) > 0 and middle[0] in string.ascii_letters + string.digits and \ (middle.endswith('.org') or middle.endswith('.net') or middle.endswith('.com'))): middle = 'http://%s' % middle }}} And a test to check for this {{{ Index: tests.py =================================================================== --- tests.py (revision 7569) +++ tests.py (working copy) @@ -166,6 +166,11 @@ >>> urlizetrunc(uri, 2) u'<a href="http://31characteruri.com/test/" rel="nofollow">...</a>' +# Check normal urlize +>>> url = 'https://google.com' +>>> urlize(url) +u'<a href="https://google.com" rel="nofollow">https://google.com</a>' + >>> wordcount('') 0 }}} | nobody | clint | 1 | 0 | 0 | 0 | |||||
7722 | 2008-07-11 20:50:04 | 2010-10-07 23:38:07 | 2022-03-06 03:40:21.867624 | Ready for checkin | closed | Core (Mail) | dev | fixed | EMail Message with CC - Carbon CopyFixed patch | I modified class EmailMessage for use Carbon copy. {{{ def __init__(self, subject='', body='', from_email=None, to=None, cc=None, bcc=None, connection=None, attachments=None, headers=None): """ Initialize a single email message (which can be sent to multiple recipients). All strings used to create the message can be unicode strings (or UTF-8 bytestrings). The SafeMIMEText class will handle any necessary encoding conversions. """ if to: self.to = list(to) else: self.to = [] if cc: self.cc = list(cc) else: self.cc = [] if bcc: self.bcc = list(bcc) else: self.bcc = [] self.from_email = from_email or settings.DEFAULT_FROM_EMAIL self.subject = subject self.body = body self.attachments = attachments or [] self.extra_headers = headers or {} self.connection = connection def message(self): encoding = self.encoding or settings.DEFAULT_CHARSET msg = SafeMIMEText(smart_str(self.body, settings.DEFAULT_CHARSET), self.content_subtype, encoding) if self.attachments: body_msg = msg msg = SafeMIMEMultipart(_subtype=self.multipart_subtype) if self.body: msg.attach(body_msg) for attachment in self.attachments: if isinstance(attachment, MIMEBase): msg.attach(attachment) else: msg.attach(self._create_attachment(*attachment)) msg['Subject'] = self.subject msg['From'] = self.from_email msg['To'] = ', '.join(self.to) if not self.cc == None: msg['Cc'] = ', '.join(self.cc) msg['Date'] = formatdate() msg['Message-ID'] = make_msgid() for name, value in self.extra_headers.items(): msg[name] = value return msg def recipients(self): """ Returns a list of all recipients of the email (includes direct addressees as well as Bcc and Cc entries). """ return self.to + self.cc + self.bcc }}} Best r… | nobody | roberto.digirolamo <robydigi91@tin.it> | 1 | 0 | 0 | 0 | |||||
8138 | 2008-08-06 18:40:19 | 2009-02-25 19:51:44 | 2022-03-06 03:41:27.599462 | Accepted | closed | Testing framework | dev | fixed | Switch django tests to use transactions | Currently the Django testsuite flushes the database after every test. That is a major performance drawback. The fixture loading/truncating takes much longer than the actual test. So I propose to switch the Django testtools to use transactions: * Before every test a transaction is started * The fixtures (if existing) are loaded * No commit is performed * The tests run * A rollback is performed There is a matching discussion on django-developers: http://groups.google.com/group/django-developers/browse_thread/thread/49aa551ad41fb919 My first tests with the concept show some promise. The first try at a patch breaks some tests (1 on SQLite, 25 on PostgreSQL), but the performance improvement is significant. With the django testsuite the results on my Laptop (slow disk - IO is the bottleneck with the tests here) so far are: * SQLite in-memory-db: * before: 415 sec * after: 79 sec * PostgreSQL: * before: 4285 sec * after: 359 sec As suggested by Russell Keith-Magee, I renamed the original test.TestCase to test.TransactionTestCase and implemented the new functionality in test.TestCase. If someone explicitly wants to use transactions inside a test, he can use TransactionTestCase and will only loose the performance gain. With the current patch all doctests now use transactional behaviour. We'll see, if I can implement a choice there, too - if it is necessary. | nobody | mremolt | 1 | 0 | 0 | 0 | |||||
8181 | 2008-08-09 06:33:39 | 2011-09-28 16:12:17 | 2022-03-06 03:41:34.553760 | Accepted | closed | Documentation | dev | duplicate | Documentation error leads to 'model already registered exceptions' | The documentation says to add admin model registration to the end of the models.py file. Because this file may be imported more than once, this causes a 'model _____ already registered exception'. The solution is to use autodiscover (as suggested in the documentation) but to place the model registration in the file admin.py. See http://groups.google.com/group/django-users/browse_thread/thread/8af97d45102ee2f2 . | nobody | Marc | 0 | 0 | 0 | 0 | |||||
8245 | 2008-08-11 23:28:48 | 2009-09-28 21:33:27 | 2022-03-06 03:41:44.775692 | Accepted | closed | contrib.admin | dev | fixed | Exceptions in admin.py can get hidden by an AlreadyRegistered exception | Consider the following admin.py file: {{{ #!python from django.contrib import admin from testpro.testapp.models import * admin.site.register(Screenshot) raise Exception("Exception that can be much less obvious than this staged one (like a missed import).") }}} It's loaded by admin.autodiscover() in urls.py. Now start the ''development server'' in ''debug mode'' and access the admin. What happens is this: * On the '''first request after starting the dev server''' our test exception is shown as the response. {{{ ImproperlyConfigured at /admin/ Error while importing URLconf 'testpro.urls': Exception that can be much less obvious than this staged one (like a missed import). }}} * For '''every subsequent request''' this exception is the response: {{{ ImproperlyConfigured at /admin/ Error while importing URLconf 'testpro.urls': The model Screenshot is already registered }}} Needless to say this can be ''really'' frustrating to debug if one does not see the first and correct exception by chance. | nobody | jarrow | 1 | 0 | 0 | 0 | |||||
8346 | 2008-08-15 15:52:23 | 2011-09-28 16:12:17 | 2022-03-06 03:42:00.663341 | Accepted | closed | Forms | dev | duplicate | overriding widget in ModelChoiceField doesn't work as expected | Using below custom ModelChoiceField will not use RadioSelect widget as expected. {{{ class MyModelChoiceField(forms.ModelChoiceField): widget = forms.RadioSelect }}} You can work around that issue by overriding __init__ like so: {{{ class MyModelChoiceField(forms.ModelChoiceField): def __init__(self, *args, **kwargs): return super(MyModelChoiceField, self).__init__(widget=forms.RadioSelect, *args, **kwargs) }}} I guess this is a bug either with ModelChoiceField or with the documentation. | nobody | derelm | 0 | 0 | 0 | 0 | |||||
8492 | 2008-08-22 20:37:05 | 2008-08-22 21:41:33 | 2022-03-06 03:42:24.959559 | Unreviewed | closed | contrib.admin | dev | duplicate | Nesting applications can cause name collision in admin | Installing two applications (one nested in a module) with the same name and model names will cause a name collision between the models in admin. for example: INSTALLED_APPS = ( 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'rhs', 'nest.lhs', #comment this app to make the application work again 'lhs', ) where rhs, lhs, and nest.lhs all contain a models.py with the same model name, and functionally identical admin.py files. | nobody | chris_dickinson | 0 | 0 | 0 | 0 | |||||
8559 | 2008-08-26 16:44:09 | 2019-08-30 06:45:44 | 2022-03-06 03:42:34.681286 | Accepted | closed | Documentation | dev | fixed | new comment.get_absolute_url returns '' | Just upgraded to the new comments system (sort of peaved that headlines went away, but hey) and {{ comment.get_absolute_url }} now returns ''. I can get comment.content_object.get_absolute_url with no problem. | nobody | TrevorFSmith | 0 | 0 | 0 | 0 | |||||
8716 | 2008-08-30 17:49:13 | 2011-09-28 16:12:17 | 2022-03-06 03:42:59.336019 | Accepted | closed | contrib.comments | dev | fixed | When a authenticated user post a comments, the field's form is not populate with data of user | When a authenticated user post a comments, the field's form is not populate with full name and email of the user. This bug stems from the fact that the code is testing if "name" and "email" are present or not in "Data". If they are not present, then the code uses data from the user. Ors these two fields are always present in "data". It must test if they are empty or not and not if they are present. This bug is in svn and beta 2 version. | jmad | jmad | 1 | 0 | 0 | 0 | |||||
8989 | 2008-09-09 13:17:41 | 2010-01-28 13:46:18 | 2022-03-06 03:43:42.763654 | Accepted | closed | contrib.syndication | dev | fixed | Syndication Framework could implement atom:link@rel=self to better follow the recommendations of the RSS Advisory Board | http://www.rssboard.org/rss-profile-1#namespace-elements-atom-link RSS feeds ''should'' include an {{{atom:link}}} element with {{{@rel="self"}}} to make them "more portable, self-contained, and easier to cache". Example, the feed of djangosites gets such a recommendation from the feed validator: http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fwww.djangosites.org%2F | arthurk | xavier.morel@masklinn.net | 1 | 0 | 0 | 0 | |||||
9268 | 2008-10-02 04:42:23 | 2011-09-28 16:12:21 | 2022-03-06 03:44:28.465233 | Accepted | closed | contrib.comments | dev | fixed | Pass custom form values from post-comment to preview-comment | It's possible to add custom fields to the comment post form (to provide a 'next' value, or other custom values), but if the user opts to preview their comment, those custom values are lost. Currently the only context variables being passed to the preview view are the text of the comment and the values from the cleaned form (which don't include custom values). There may be negative implications I'm not aware of, but couldn't we just pass the 'data' variable (containing all the un-cleaned POST data) into the preview? | stuartk | taojian | comment preview | 1 | 0 | 0 | 1 | ||||
9881 | 2008-12-18 03:13:40 | 2011-09-28 16:12:21 | 2022-03-06 03:45:55.175820 | Accepted | closed | contrib.auth | 1.0 | fixed | Auth login should pass current_site to template, not current_site.name | Currently, django.contrib.auth's login method passes 'current_site.name' to the template: {{{ return render_to_response(template_name, { 'form': form, redirect_field_name: redirect_to, 'site_name': current_site.name, }, context_instance=RequestContext(request)) login = never_cache(login) }}} It would be preferable if the dictionary pair were ''''site': current_site''' instead. (This is how django-registration works.) In my current project, 'site_name' overrides a variable defined in a custom context processor, which serves the same function. We prefer to not use contrib.sites to pass the site name and domain to templates, since this requires slightly more set up and maintenance. (E.g., making sure 'example.com' gets replaced whenever the database gets wiped.) Passing ''''site': current_site''' instead of ''''site_name': current_site.name''' would make contrib.auth behavior more consistent with the django-registration module as well. | nessita | walterk | pycamp2009 | 1 | 0 | 0 | 0 | ||||
9928 | 2008-12-29 18:38:10 | 2009-09-17 11:23:16 | 2022-03-06 03:46:01.981121 | Design decision needed | closed | contrib.admin | 1.0 | duplicate | Ordering of admin.ModelAdmin objects in admin site | Lets say I have my pizza application with Topping and Pizza classes and they show in Django Admin like this: Toppings Add / Change[[BR]] Pizzas Add / Change[[BR]] But it would be nice to have them like this: Pizzas Add / Change[[BR]] Toppings Add / Change[[BR]] Currently there is no way of doing this. It would be nice and I think it is important. | badri | ruiaf | 1 | 1 | 1 | 1 | |||||
10353 | 2009-02-25 08:25:35 | 2011-04-07 01:01:56 | 2022-03-06 03:47:04.649711 | Accepted | closed | Forms | New feature | Normal | 1.0 | wontfix | prompt the correct date/time format in the error message | prompt the correct date/time format in the error message in case the user want to manually input the date/time fields. | nobody | dryice | date time datetime | 1 | 0 | 0 | 0 | ||
10745 | 2009-04-06 04:16:29 | 2011-09-28 16:12:21 | 2022-03-06 03:48:05.920030 | Unreviewed | closed | Template system | 1.0 | duplicate | url template tag should accept a varible for view name | The {% url %} tag only accepts "template strings" as view name/named url. I propose that the view name be a django.template.Variable and resolve() on render. There are two reasons for this; Firstly, if you accidentally put quotes around the view name a very cryptic template syntax error is raised. Secondly, I've encountered several occasions where it would be useful to be able to pass a view name, or named url, to the url tag as a variable, but found it wouldn't evaluate. | Soviut | Soviut | 1 | 0 | 0 | 0 | |||||
10939 | 2009-04-27 23:20:12 | 2009-08-06 22:07:56 | 2022-03-06 03:48:39.029935 | Unreviewed | closed | contrib.admin | 1.0 | invalid | Allow for dynamic registration of inlines into an admin model | It used to be (django 0.96) you could arbitrarily add inlines into an admin model: {{{ from django.db import models from django.contrib.models import FlatPage class FlatPageAttachment(models.Model): flatpage = models.ForeignKey(FlatPage, edit_inline=True) attachment = models.FileField(upload_to="flatpages") }}} Now this is not possible. You could try to import the FlatPage admin and attach an admin inline, but this will not work. The reason for this is that when the Admin model is registered into the admin site, it goes through and populates inline_instances. It is true you could unregister and re-register, but what if another app also wanted to add an inline? If that was the case then only one would get its inline registered. Perhaps a better alternative is to add a method to ModelAdmin called "register_inline". It would behave something like the following: {{{ def register_inline(self, inline_class): inline_instance = inline_class(self.model, self.admin_site) self.inline_instances.append(inline_instance) }}} | nobody | zbyte64 | inlines | 0 | 0 | 0 | 0 | ||||
11080 | 2009-05-12 09:28:28 | 2009-05-12 10:44:24 | 2022-03-06 03:49:02.928983 | Unreviewed | closed | contrib.admin | dev | duplicate | Named URL pattern for admin logout is missing | I stumbled over this section by accident. {{{ url(r'^$', wrap(self.index), name='%sadmin_index' % self.name), url(r'^logout/$', wrap(self.logout), name='%sadmin_logout'), }}} Seems that the string substitution for the named URL pattern of the logout link is missing. | nobody | basti | 1 | 0 | 0 | 0 | |||||
11474 | 2009-07-14 03:26:52 | 2011-09-28 16:12:27 | 2022-03-06 03:50:00.647659 | Accepted | closed | Documentation | 1.0 | duplicate | models.XMLField doesn't work as advertised | There are two errors currently in the (documentation of) {{{models.XMLField}}}: * The documentation claims that {{{schema_path}}} is a required argument, but it is not. * Regardless of whether {{{schema_path}}} is given, {{{models.XMLField}}} does not actually perform any validation. It works no differently than an ordinary {{{TextField}}}, succeeding even if the input is not XML at all. Tickets #3094 and #5620 are likely related to this bug. I reference them for historical interest, since it seems that it was once assumed that #3094 would to be fixed before 1.0. | nobody | garrison | 0 | 0 | 0 | 0 | |||||
11680 | 2009-08-10 19:21:15 | 2011-09-28 16:12:23 | 2022-03-06 03:50:30.856039 | Accepted | closed | Documentation | 1.1 | fixed | add references to EMAIL* settings when discussing error notifications | it might be nice to add a sentence saying that EMAIL_HOST, EMAIL_HOST_USER and EMAIL_HOST_PASSWORD affect the sending of error emails to admins at http://docs.djangoproject.com/en/dev/howto/error-reporting/ | jdunck | ccurvey | 1 | 1 | 0 | 0 | |||||
11795 | 2009-08-28 08:57:27 | 2009-11-03 15:02:17 | 2022-03-06 03:50:46.602652 | Unreviewed | closed | Uncategorized | 1.1 | fixed | Allow use of inlines for many-to-many fields | When you try to create an inline field in admin.py for a manytomanyfield you always get the following error: <class 'MyClass'> has no ForeignKey to <class 'OtherClass'> It would be nice to be able to use inlines for many to many relations. | nobody | sveri | manytomanyfield inline | 0 | 0 | 0 | 0 | ||||
12087 | 2009-10-26 13:43:13 | 2016-10-19 00:00:14 | 2022-03-06 03:51:34.586976 | Accepted | closed | Testing framework | 1.1 | wontfix | Django "TransactionTestCase" isn't | The Django TransactionTestCase fails to roll back the current database transaction at each test's conclusion, which can leave the current database connection in an unusable state and thus break test isolation. When Django is using PostgreSQL, and a test deliberately tries violating a database invariant (like inserting an illegal value, or a non-existent primary key) and receives a PostgreSQL runtime error, then all subsequent tests in that test class error out with the failure: {{{ Traceback (most recent call last): File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/test/testcases.py", line 242, in __call__ self._pre_setup() File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/test/testcases.py", line 217, in _pre_setup self._fixture_setup() File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/test/testcases.py", line 222, in _fixture_setup call_command('flush', verbosity=0, interactive=False) File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/__init__.py", line 166, in call_command return klass.execute(*args, **defaults) File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line 222, in execute output = self.handle(*args, **options) File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line 351, in handle return self.handle_noargs(**options) File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/commands/flush.py", line 31, in handle_noargs sql_list = sql_flush(self.style, only_django=True) File "/home/brandon/django/v/lib/python2.6/site-packages/Django-1.1.1-py2.6.egg/django/core/management/sql.py", line 128, in sql_flush tables = connection.introspection.django_table_names(only_existing=True) File "/home/brandon/django/v/li… | nobody | brandon | 1 | 0 | 1 | 0 | |||||
12285 | 2009-11-30 02:42:49 | 2011-09-28 16:12:23 | 2022-03-06 03:52:05.539185 | Ready for checkin | closed | Forms | 1.1 | fixed | Confusing error message when ModelForm does not have model set | When instantiating a {{{ModelForm}}} whose {{{Meta.model}}} has not been set (i.e. the {{{ModelForm}}} class was extended instead of {{{Form}}}), the exception message is: {{{'NoneType' object is not callable}}} This message originates from {{{django/forms/models.py in __init__ line 218}}} that says {{{self.instance = opts.model()}}}. Adding an {{{if}}} there with a decent message such as {{{"Model class not set for ModelForm"}}} would be the fix. | kmtracey | RaceCondition | 1 | 0 | 0 | 0 | |||||
12806 | 2010-02-06 20:16:32 | 2011-09-28 16:12:23 | 2022-03-06 03:53:30.373349 | Ready for checkin | closed | Database layer (models, ORM) | 1.2-beta | fixed | Implement __getitem__ on RawQuerySet | Would be a nice shortcut to get one result back, especially if your SQL has a limit 1. Other wise you have to call list on it and then grab that element. | nobody | vbabiy | 1 | 0 | 0 | 0 | |||||
13315 | 2010-04-09 22:18:56 | 2011-09-28 16:12:23 | 2022-03-06 03:54:51.379602 | Design decision needed | closed | GIS | 1.2-beta | fixed | Backwards-incompatible changes for GeoDjango not documented (e.g., PostGISAdaptor -> PostGISAdapter) | The django.contrib.gis.db.backend.postgis.adaptor.PostGISAdaptor class has been renamed to django.contrib.gis.db.backend.postgis.adapter.PostGISAdapter in 1.2, but this is not documented in http://docs.djangoproject.com/en/dev/releases/1.2/. I'm attaching a patch that will add a quick note about it. | jbronn | bkonkle | geodjango, gis, postgis, PostGISAdaptor | 1 | 0 | 0 | 1 | ||||
13338 | 2010-04-13 19:33:04 | 2010-04-13 19:34:33 | 2022-03-06 03:54:54.908033 | Unreviewed | closed | Template system | 1.1 | invalid | adding custom template context processor(s) to settings.py screws up admin | I added my own template context processor: {{{ TEMPLATE_CONTEXT_PROCESSORS = ( 'www.context_processor.static_url', ) }}} and the admin system stopped receiving its context and I got TemplateSyntaxErrors. It worked again when I added: {{{ TEMPLATE_CONTEXT_PROCESSORS = ( 'www.context_processor.static_url', 'django.core.context_processors.auth', ) }}} is there a reason I have to manually add the context processor for auth after creating a custom processor? A user in #django told me to add the following: {{{ from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS }}} to the top of my settings.py, I did that and added my template context processor using: {{{ TEMPLATE_CONTEXT_PROCESSORS += ( 'www.context_processor.static_url', ) }}} which seems to have worked. What's going on? Is this the way it's supposed to be or have I done something I'm not supposed to? | nobody | marshall.ent@gmail.com | template context processor | 0 | 0 | 0 | 0 | ||||
13440 | 2010-04-28 17:59:15 | 2010-04-28 18:03:44 | 2022-03-06 03:55:12.414042 | Unreviewed | closed | Documentation | 1.2-beta | duplicate | in discussion of ForeignKey(), mention the reverse relationship that is created | On this page: http://docs.djangoproject.com/en/dev/ref/models/fields/#foreignkey Mention that creating a foreign key creates a backref as well. For example; {{{ class Car(models.Model): manufacturer = models.ForeignKey('Manufacturer') # ... class Manufacturer(models.Model): # ... }}} will silently create an attribute of manufacturer called "car_set" that contains a list of all the cars associated with that manufacturer. | nobody | ccurvey | 0 | 0 | 0 | 0 | |||||
13592 | 2010-05-22 18:08:32 | 2010-05-23 10:38:23 | 2022-03-06 03:55:38.325504 | Unreviewed | closed | Forms | fixed | SelectDateWidget should use datetime_safe | Currently, SelectDateWidget.value_from_datadict throws a ValueError courtesy of strftime when L10N is enabled and a year before 1900 is entered. The date should be converted to datetime_safe before strftime is called. | nobody | magnus | SelectDateWidget datetime_safe strftime | 1 | 0 | |||||||
13667 | 2010-05-30 18:43:13 | 2010-06-18 11:57:38 | 2022-03-06 03:55:49.799251 | Unreviewed | closed | Contrib apps | 1.2 | wontfix | Multiple profile models via AUTH_PROFILE_MODULES (proposal) | I was developing a few apps that required some data stored to users profile. Since now there can be only one model that can be used as a profile and the way around it is somewhat ugly, I've made some changes to get_profile method. In settings instead of: {{{ AUTH_PROFILE_MODULE = "app_label.model" }}} you can do this: {{{ AUTH_PROFILE_MODULES = ("app_label1.model", "app_label2.model", ) }}} | nobody | humanfromearth | user auth profile multiple | 1 | 1 | 1 | 1 | ||||
13824 | 2010-06-24 15:03:53 | 2010-07-14 11:24:24 | 2022-03-06 03:56:14.412000 | Unreviewed | closed | Documentation | 1.2 | duplicate | ModelValidation ignores blank=True | Cheers, I'm not quite sure if this is a feature or a bug, so sorry if i misunderstood this. I am using a Model "Foo" that has a field like this: {{{ #!python [...] class Foo(models.Model): uid = models.ForeignKey(UserProfile, blank=True) [...] }}} Next, I'm using this Model in a Form (via !ModelForm): {{{ #!python class FooForm(ModelForm): class Meta: model = Foo [...] }}} I expect Django to ignore the `uid` when calling `is_valid()`, as it's `blank` attribute is set `True` , but I get a !ValueError: {{{ #!sh ValueError at /foo/add/ Cannot assign None: "Foo.uid" does not allow null values. Request Method: POST Request URL: http://localhost:8000/de/foo/add/ Django Version: 1.2.1 Exception Type: ValueError Exception Value: Cannot assign None: "Foo.uid" does not allow null values. Exception Location: <cut>/lib/python2.6/site-packages/django/db/models/fields/related.py in __set__, line 314 }}} This is since at the point where `is_valid()` is valled, uid is set to `None`, since it is not sent by the form but filled in my view (it's request.user.get_profile().user_id). I looked for this in the Django docs, but didn't get a proper solution but using `full_clean()` which would need me to adapt the code & use try/except . | nobody | anonymous | 0 | 0 | 0 | 0 | |||||
13862 | 2010-07-01 00:01:35 | 2011-09-28 16:12:27 | 2022-03-06 03:56:22.827164 | Ready for checkin | closed | contrib.admin | dev | fixed | InlineModelAdmin does not respect ordering | {{{ModelAdmin}}} has an {{{ordering}}} option which ought to be inherited by {{{InlineModelAdmin}}} -- in many situations it is useful to specify a custom ordering criteria for inlines. I've attached a patch which moves the {{{ordering}}} attribute and {{{queryset}}} method should to {{{BaseModelAdmin}}} so that the functionality is shared with {{{InlineModelAdmin}}}. | cogat | DrMeers | InlineModelAdmin, inline, ordering, sprintdec2010 | 1 | 0 | 0 | 0 | ||||
14702 | 2010-11-16 17:29:10 | 2011-09-28 16:12:27 | 2022-03-06 03:58:33.023931 | Accepted | closed | *.djangoproject.com | 1.2 | fixed | Add a "needs info" state to tickets | After [wiki:Sprint201011Argentina a recent sprint] a [http://groups.google.com/group/django-developers/browse_thread/thread/b6d007ee842bde04 proposal was discussed in django-developers] asking for an explicit "Needs more information" state to Django tickets. This allows triagers to flag a common situation in unreviewed tickets, instead of leaving them as unreviewed (which clutters the review queue for triagers and duplicates work when tickets are reviewed twice). Two proposals were discussed in the mailing list: * Adding a "needs information" state to triage status * Adding a "needs info" close status Any of this looks reasonable (adding a close status keeps trac "cleaner" and avoids having another triage task, but might be off-putting to contributors). Whatever is chosen, The trac setting should be added, and the documentation updated | nobody | dmoisset | 0 | 0 | 0 | 0 | |||||
14729 | 2010-11-19 10:20:24 | 2011-04-22 18:17:27 | 2022-03-06 03:58:37.615927 | Ready for checkin | closed | Database layer (models, ORM) | Bug | Normal | 1.2 | fixed | RawQuerySet.__repr__ fails when params passed as list | Django 1.2.3. The documentation suggests passing arguments to a Model.objects.raw() query as a list: http://docs.djangoproject.com/en/dev/topics/db/sql/#passing-parameters-into-raw However, this breaks RawQuerySet.__repr__ {{{ In [1]: from django.contrib.auth import models In [2]: r=models.User.objects.raw('select * from auth_user where id=%s', 10) In [3]: repr(r) Out[3]: "<RawQuerySet: 'select * from auth_user where id=10'>" In [4]: r=models.User.objects.raw('select * from auth_user where id=%s and id=%s', (10, 10)) In [5]: repr(r) Out[5]: "<RawQuerySet: 'select * from auth_user where id=10 and id=10'>" In [6]: r=models.User.objects.raw('select * from auth_user where id=%s and id=%s', [10, 10]) In [7]: repr(r) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) /tmp/foo/<ipython console> in <module>() /usr/lib/pymodules/python2.6/django/db/models/query.pyc in __repr__(self) 1374 1375 def __repr__(self): -> 1376 return "<RawQuerySet: %r>" % (self.raw_query % self.params) 1377 1378 def __getitem__(self, k): TypeError: not enough arguments for format string }}} | accuser | intgr | raw query | 1 | 0 | 0 | 0 | ||
14937 | 2010-12-22 12:19:28 | 2010-12-23 02:56:31 | 2022-03-06 03:59:11.011456 | Unreviewed | closed | contrib.localflavor | 1.2 | fixed | US localflavor postal abbreviations | Building on #9022 and the ongoing fallout from #8425, we really should provide a way to represent all abbreviations recognized by the US Postal Service without causing an international incident. The attached patch does this by breaking down the choices into multiple fine-grained lists. It is backwards compatible in that its version of `STATE_CHOICES` contains all the choices present in the current `STATE_CHOICES`, but adds the following: * `STATE_CHOICES` now also contains Armed Forces "state" abbreviations. * A new tuple, `USPS_CHOICES`, contains all recognized USPS abbreviations, including independent nations which receive postal service from the United States. * A new model field (`USPostalCodeField`) and form field (`USPSSelect`) are added, taking advantage of the new `USPS_CHOICES` tuple. * Individual choice tuples are provided for: the "lower 48" states plus DC; all 50 states plus DC; all US territories; all US armed forces "states"; independent nations serviced by USPS; and obsolete abbreviations formerly recognized by USPS (e.g., the Panama Canal Zone). | nobody | ubernostrum | 1 | ||||||||
15162 | 2011-01-25 17:08:24 | 2011-09-28 16:12:27 | 2022-03-06 03:59:47.123092 | Accepted | closed | Database layer (models, ORM) | Bug | Normal | 1.3 | duplicate | syncdb fails when creating super user - Django: v 1.2.4 Python: 2.6 MySQL Server: 5.5 Windows 7 Extra: MySQL-Python v1.2.3 | syncdb fails when creating super user - Django: v 1.2.4 Python: 2.6 MySQL Server: 5.5 Windows 7 Extra: MySQL-Python v1.2.3 What steps will reproduce the problem? 1. install the above programs 2. create a project 3. run syncdb Note: I have installed mySQL to support UTF 8. I also create the mysite_db database using CREATE DTABASE mysite_db CHARACTER SET = UTF8; What is the expected output? What do you see instead? syncdb create the required tables as follows: {{{ --------------------------------------------------------------------------------------------------------------------- C:\DjangoProjects\mysite>python manage.py syncdb Creating table auth_permission Creating table auth_group_permissions Creating table auth_group Creating table auth_user_user_permissions Creating table auth_user_groups Creating table auth_user Creating table auth_message Creating table django_content_type Creating table django_session Creating table django_site You just installed Django's auth system, which means you don't have any superuse rs defined. Would you like to create one now? (yes/no): --------------------------------------------------------------------------------------------------------------------- }}} I select 'YES' and get the following error: {{{ --------------------------------------------------------------------------------------------------------------------- Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "C:\Python26\lib\site-packages\django\core\management \__init__.py", line 438, in execute_manager utility.execute() File "C:\Python26\lib\site-packages\django\core\management \__init__.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Python26\lib\site-packages\django\core\management\base.py", line 191, in run_from_argv self.execute(*args, **options.__dict__) File "C:\Python26\lib\site-packages\django\core\management\base.py", line … | nobody | david_heagney | syncdb mysql | 1 | 1 | 0 | 0 | ||
15745 | 2011-04-03 05:00:56 | 2012-12-20 12:15:02 | 2022-03-06 04:01:19.743570 | Unreviewed | closed | User Experience | Bug | Normal | 1.3 | needsinfo | Description of DEBUG setting in email is misleading if DEBUG == False. | If DEBUG == False, Django sends emails to those listed in the ADMIN setting with the exact text of the debug message. At the bottom of this message is the following: "You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page." In the case that the message is displayed in an email, this content is misleading. Of course in order for the email to have been sent, we know that the user has DEBUG = False. Thus, we need a short branch divorcing these two cases and displaying slightly different content. Also (and please let me know if the convention is to separate these into two tickets) - there are some grammar issues with the docstrings - many need to be migrated to the present recurring tense / indicative mood if in fact that is going to remain the guideline. | jMyles | jMyles | debug, mail, errors, docstrings | 1 | 0 | 0 | 0 | ||
15784 | 2011-04-07 14:44:02 | 2011-04-07 14:57:23 | 2022-03-06 04:01:26.340777 | Unreviewed | closed | Uncategorized | Uncategorized | Normal | 1.2 | invalid | Internal Server Error | Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log. This is what shows up when I try and open Fitday and log in. I just ordered the premium the other day and now this is what I encounter | nobody | berfam | 0 | 0 | 0 | 0 | |||
1 | 2005-07-13 19:03:27 | 2012-05-20 15:12:37 | 2022-03-06 03:19:23.152286 | Unreviewed | closed | Core (Other) | enhancement | normal | fixed | Create architecture for anonymous sessions | We need an architecture for anonymous sessions. Right now we have django.models.auth.sessions, but that only handles registered users' sessions. We need a system that automatically creates and manages sessions for anonymous users. Here's one idea for this: * In the settings file, you define a {{{SESSION_MODULE}}} string, like the {{{AUTH_PROFILE_MODULE}}}, which points to the model to use for sessions. * Using this, httpwrappers automatically creates a request.session object which is persistant across requests based on cookies, etc. | jacob | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
2 | 2005-07-13 19:04:45 | 2007-07-03 23:04:18 | 2022-03-06 03:19:23.301840 | Accepted | closed | contrib.admin | defect | normal | fixed | Calendar popup - next/previous month links close the popup in Safari | In Safari 2.0 on Tiger, the next/previous month links close the popup. There's no way to get to a different month. | jacob | anonymous | 0 | 0 | 0 | 0 | 0 | 0 | ||
3 | 2005-07-13 19:06:09 | 2007-07-03 23:04:08 | 2022-03-06 03:19:23.472795 | Design decision needed | closed | Metasystem | enhancement | normal | fixed | Convert OneToOne to be like ForeignKey and ManyToManyField | Remove the boilerplate from {{{OneToOne}}}. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
5 | 2005-07-13 19:08:56 | 2007-02-25 17:31:18 | 2022-03-06 03:19:23.798789 | Design decision needed | closed | Metasystem | enhancement | normal | wontfix | Add a cache=NUM_SECONDS argument to QuerySet | It'd be convenient for the lookup API to have caching baked in. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
6 | 2005-07-13 19:13:41 | 2006-10-07 21:25:13 | 2022-03-06 03:19:23.963614 | Unreviewed | closed | Metasystem | defect | minor | fixed | Remove has_related_links option from models | The current (undocumented) {{{has_related_links}}} code is too Ellington-specific and doesn't belong in Django. Let's remove it. We'll have to come up with a more generic way of associating content_type_id/object_id relationships, such as related links, to a model. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
7 | 2005-07-13 19:14:41 | 2007-07-03 23:04:26 | 2022-03-06 03:19:24.105352 | Design decision needed | closed | contrib.admin | defect | minor | fixed | Patch: Changelist date range filters don't maintain state as expected | The changelist filter by a date doesn't behave as expected. '''What happens:''' When I click "This month", it correctly displays the objects for this month and drills down the date nav to the appropriate context, but the filter on the right does not indicate which range is currently applied. The "Any date" link does not reset the date drill down. '''What should happen:''' The date filter on the sidebar should update to show which range is currently applied. The "Any date" option should reset the date context. Alternatively, the filter "by date" options could be removed entirely to avoid conflict with the date drilldown. | adrian | wilson | 0 | 0 | 0 | 0 | 0 | 0 | ||
8 | 2005-07-13 19:15:25 | 2007-07-03 23:03:55 | 2022-03-06 03:19:24.252139 | Unreviewed | closed | contrib.admin | defect | minor | fixed | Date and time fields should accept multiple formats | Date and time fields should be able to adapt to multiple formats of user input (a la Simon's [http://simon.incutio.com/archive/2003/10/06/betterDateInput date parser]). As a basic example, a user should be able to enter "Today" or "Wednesday" for the date and have it converted to the correct format for today's date or this Wednesday's. For time fields, a user should be able to enter 6pm instead of 18:00. | jacob | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
10 | 2005-07-13 19:16:42 | 2007-01-19 17:00:10 | 2022-03-06 03:19:24.535662 | Unreviewed | closed | Validators | task | minor | invalid | Ordered objects should have API access to their order number | The specific problem is that photos within photo galleries need to know their place within the gallery (1st, 2nd, etc.). In order to solve this, we'll need ordered objects to give API access to their order number. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
11 | 2005-07-13 19:17:13 | 2007-07-03 23:03:30 | 2022-03-06 03:19:24.708876 | Ready for checkin | closed | Metasystem | defect | minor | wontfix | replaces_module should handle "admin" more intelligently | Currently if you add or remove fields via the {{{replaces_module}}} framework, you have to redefine {{{admin}}} for the object. Ideally {{{admin}}} would be handled automatically. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
12 | 2005-07-13 19:19:38 | 2007-07-03 23:03:44 | 2022-03-06 03:19:24.890200 | Unreviewed | closed | Metasystem | normal | fixed | Add metasystem database-check functionality | We should automate the checking of whether everything is properly installed in the database for a particular app. For instance, a command such as {{{django-admin.py dbcheck news}}} would: * Check that the package exists in the DB. * Check that all the permissions exist in the DB. * Check that there aren't any *extra* permissions in the DB that the model doesn't know about. * Check that all the content types exist in the DB. * Check that there aren't any *extra* content types in the DB for this app. * Check that there aren't any missing fields. * Check that the fields are in the correct data type. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | |||
13 | 2005-07-13 19:20:21 | 2011-09-08 05:35:18 | 2022-03-06 03:19:25.074830 | Accepted | closed | contrib.admin | New feature | Normal | dev | fixed | Related objects interface should be tighter (edit_inline) | The admin interface for related objects and the ordering interface need some tighter integration. Currently, anything that can be ordered goes in the right sidebar of the admin change form, with no relation to the actual input fields for those objects. The adding, removing, editing and ordering of related objects should be tied together in one part of the form. '''Specific areas for enhancement:''' * '''Adding related objects should be easier.''' Now you have to "save and continue" to get an extra set of fields to add a new related object. You should be able to click "add new object" to add another set of blank fields inline on the page. * '''Deleting related objects should be easier.''' Now you have to clear the "core fields" of a related object to delete it. You should be able to click "delete" to delete the object, or at least mark it for deletion when you click save on the main object. * '''Ordering of related objects should be clearly tied to editing those objects.''' Now the ordering interface is completely separate. You should be use the same list of objects to set the order (by dragging) or select that object for editing or deleting (by clicking). | barbuza | adrian | nfa-someday nfa-changelist | 0 | 1 | 1 | 0 | 0 | 0 |
14 | 2005-07-13 19:20:55 | 2008-01-14 18:07:24 | 2022-03-06 03:19:25.261243 | Accepted | closed | contrib.admin | defect | normal | wontfix | PIE-IN-THE-SKY: Add spell-check capability to admin textareas | It'd be nice if every textarea throughout our admin offered users the option to spell-check its contents. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
15 | 2005-07-13 19:22:11 | 2006-08-29 10:03:03 | 2022-03-06 03:19:25.461869 | Unreviewed | closed | Metasystem | defect | normal | duplicate | Metasystem unique_together doesn't work for an object that's related inline | See {{{unique_together}}} in {{{music.MusicianInBand}}}, which causes this when ManipulatorAdd is instantiated: {{{ Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/worldonline/cms/core/handler.py", line 123, in get_response return callback(request, **param_dict) File "/usr/lib/python2.3/site-packages/worldonline/cms/views/admin/main_new.py", line 608, in change_stage manipulator = mod.ChangeManipulator(object_id) File "/usr/lib/python2.3/site-packages/worldonline/cms/models/meta.py", line 77, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/usr/lib/python2.3/site-packages/worldonline/cms/models/meta.py", line 1008, in manipulator_init self.fields.extend(f.get_manipulator_fields(rel_opts, self, name_prefix='%s.%d.' % (rel_opts.object_name.lower(), i), rel=True)) File "/usr/lib/python2.3/site-packages/worldonline/cms/models/meta.py", line 1279, in get_manipulator_fields params['validator_list'].append(getattr(manipulator, 'isUnique%sFor%s' % (i, j))) AttributeError: BandManipulatorChange instance has no attribute 'isUniquemusician_idForband_id' }}} | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
16 | 2005-07-13 19:24:03 | 2007-05-30 21:27:58 | 2022-03-06 03:19:25.856417 | Design decision needed | closed | contrib.admin | normal | invalid | Create some form of "edit many at once" feature for the admin | {{{ [5:54 pm] jacobkm: Hey, what do you think of making a general purpose CSV export/import for all admin pages? [5:54pm] jacobkm: A way for data entry folks to get lots of info in quickly? [5:56pm] django34: Sounds like a good idea...How would it handle many-to-one related objects? [5:56pm] jacobkm: I'm not sure, but probably just with IDs [5:56pm] jacobkm: Or maybe it wouldn't work if there are relations [5:57pm] django34: Do you have a use-case in mind? [5:57pm] jacobkm: Yeah -- Billy's been entering rosters/schedules/etc all day, and it's a PITA [5:58pm] jacobkm: I could write an excel importer for him, but it would take almost as long [5:58pm] django34: All of those things have related objects, don't they? [5:58pm] django34: I guess a roster doesn't, if it's just players [6:01pm] jacobkm: Well, it's got the team id [6:02pm] django34: But it doesn't have "many" of something else [6:02pm] jacobkm: I don't think any of them do... [6:03pm] django34: such as a team has many players [6:03pm] jacobkm: It could be an optional admin feature like the add as new thing [6:04pm] jacobkm: It's just that our admin isn't ideal when it comes to entering a *lot* of information. [6:04pm] django34: agreed [6:04pm] jacobkm: I think it would probably be dangerous, so we should be careful about who gets to use it [6:05pm] django34: There would be some usability issues, such as what to do if 5 records are submitted but one of them has an error in it [6:05pm] jacobkm: Yeah [6:05pm] jacobkm: I'd say all or nothing, probably. [6:06pm] django34: "There was an error in the 'player name' field in record #4" [6:06pm] django34: Not that bad [6:06pm] jacobkm: Right, exactly [6:06pm] jacobkm: (I did something like this for the CMS I build at IDSociety, except it had *no* error checking at all and was bascially a shortcut for me alone) [6:07pm] django34: I don't see a huge problem with adding this functionality to every admin item [6:07pm] jacobkm: How would it handle ManyToMany relations? [6:07pm] jacobkm: That's … | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | |||
17 | 2005-07-13 19:25:18 | 2019-12-17 11:37:56 | 2022-03-06 03:19:26.110232 | Accepted | closed | Database layer (models, ORM) | New feature | Normal | dev | wontfix | Metasystem optimization: Share select_related in memory | When using {{{select_related}}}, each cache is stored separately in memory. For example, each Choice object here has its Poll cached, but each of those caches is a separate object in memory. It would require less memory if the caches were references to the same Poll object. {{{ >>> from djangomodels.polls import choices >>> choice_list = choices.get_list(poll__id__exact=90, select_related=True) >>> id(choice_list[0]._poll_cache) -156344020 >>> id(choice_list[1]._poll_cache) -156344084 }}} | PhiR | adrian | feature caching | 0 | 1 | 1 | 0 | 1 | 0 |
18 | 2005-07-13 19:26:27 | 2007-07-03 23:03:51 | 2022-03-06 03:19:27.157564 | Unreviewed | closed | Database layer (models, ORM) | enhancement | normal | wontfix | Metasystem optimization: Don't select duplicate fields | In the following query, "poll_choices.poll_id" and "polls.id" are the same value. Only one of them needs to be selected: {{{ SELECT poll_choices.id,poll_choices.poll_id,poll_choices.choice, poll_choices.votes, polls.id,polls.slug,polls.question,polls.pub_date, polls.expire_date FROM poll_choices, polls WHERE poll_choices.poll_id = polls.id }}} | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
19 | 2005-07-13 19:31:17 | 2021-05-10 19:10:04 | 2022-03-06 03:19:27.337791 | Design decision needed | closed | Validators | enhancement | minor | new-admin | wontfix | Automatically generate JavaScript form validation | Django should generate JavaScript form validation for all admin pages, in addition to the server-side validation it already does. Each FormField object already gets an HTML class of the type of field it is (e.g. "vCheckboxField", "vEmailField", "vTextField"), so we can probably build off of that. OR, we could use {{{XMLHttpRequest}}} to send each field individually and validate everything *server-side*. ====================================================== I've given some more thought to this. We could set up a view that validates a given field via XMLHttpRequest, like this: admin.6newslawrence.com/validate_field/polls/polls/question/?value=blah (The "value=blah" would be POST data, not GET data.) But here's a problem: What do we do for validators that expect all_data, i.e. the ones that validate a field according to the value of another field? We could solve that by only using dynamic JavaScript? validation to check single fields and using server-side validation for the rest -- but it's a usability problem if some validation errors appear instantly and others appear after form submission. | adrian | adrian | validators | 0 | 0 | 0 | 0 | 0 | 0 |
20 | 2005-07-13 19:32:17 | 2007-07-03 23:03:44 | 2022-03-06 03:19:28.799681 | Ready for checkin | closed | contrib.admin | enhancement | normal | duplicate | "Add another" for many-to-many relationships | Django already creates an "Add another..." link in one-to-many select boxes. (Example: The "place" select box on the "Add event" admin page has an "Add another..." link at the bottom of it.) Many-to-many fields -- represented in the admin as multi-select boxes -- also need "Add another..." capability. It could probably appear as the last entry in the select box, as in the one-to-many add-anothers. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE tickets ( id int primary key, created datetime, changetime datetime, last_pulled_from_trac datetime, stage text, status text, component text, type text, severity text, version text, resolution text, summary text, description text, owner text, reporter text, keywords text, easy boolean, has_patch boolean, needs_better_patch boolean, needs_tests boolean, needs_docs boolean, ui_ux boolean );