{"id": 8246, "created": "2008-08-12 00:03:46", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:44.921063", "stage": "Accepted", "status": "closed", "component": "Core (Management commands)", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "Subpackage Settings Fix", "description": "r8282 introduces a regression by adding a line like so:\r\n\r\n{{{\r\n#!python\r\nsetup_environ(__import__(settings.SETTINGS_MODULE)) \r\n}}}\r\n\r\nI don't know why this line is used, but since `__import__` returns the first package, even in a dotted expression like `settings.development`, this line has the net effect of running `setup_environ` on `settings.__init__` instead of `settings.development`, which has, as you can imagine, negative effects - like breaking runserver (since it can't find any settings), and any management command that spawn a subprocess (which captures the new, incorrect DJANGO_SETTINGS_MODULE environment variable). \r\n\r\nThe attached patch fixes this.\r\n\r\n(I'm guessing on the assignee, forgive me if I'm wrong.)", "owner": "russellm", "reporter": "AdamG", "keywords": null, "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8247, "created": "2008-08-12 01:48:09", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:45.061188", "stage": "Accepted", "status": "closed", "component": "Documentation", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "Incomplete documentation for AdminSite (left out step 4)", "description": "This mentions step 4: \"Instantiate your own AdminSite ...\" but never mentions how to do it. The AdminSite Object section starts with hooking the AdminSite up to your urls.\r\n\r\n[http://www.djangoproject.com/documentation/admin/]", "owner": "brosner", "reporter": "bendavis78", "keywords": "Admin AdminSite", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8248, "created": "2008-08-12 03:46:06", "changetime": "2009-02-25 19:51:44", "last_pulled_from_trac": "2022-03-06 03:41:45.211828", "stage": "Accepted", "status": "closed", "component": "Core (Other)", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "Built-in python function, help(), does not work on models with ForeignKey fields", "description": "If a model refers to a Site model, the help() function stops working, meaning functions, docstrings, etc don't print.\r\n\r\nTo reproduce:\r\n{{{\r\n$ django-admin.py startproject myproj\r\n$ ./manage.py shell\r\n>>> from django.contrib.sites.models import Site\r\n>>> help(Site)\r\n}}}\r\n\r\nThis will return correct functions, docstrings, etc...\r\n\r\nNow create an app:\r\n{{{\r\n$ ./manage.py startapp myapp\r\n}}}\r\nCreate a model:\r\n{{{\r\nfrom django.db import models\r\nfrom django.contrib.sites.models import Site\r\n\r\nclass MyModel(models.Model):\r\n name = models.CharField(max_length=50)\r\n site = models.ForeignKey(Site)\r\n}}}\r\nNow try to view help for this either MyModel or Site:\r\n{{{\r\n$ ./manage.py shell\r\n>>> from myapp.models import MyModel\r\n>>> from django.contrib.sites.models import Site\r\n>>> help(MyModel)\r\n>>> help(Site)\r\n}}}\r\nBoth calls will only show something similar to:\r\n{{{\r\nHelp on class MyModel in module myproj.myapp.models:\r\n\r\nMyModel = \r\n(END)\r\n}}}\r\nTested on SVN 8204 and 8313 - same results\r\n", "owner": null, "reporter": "lingrlongr", "keywords": "help ForeignKey foreign key", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8249, "created": "2008-08-12 05:21:30", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:45.348647", "stage": "Accepted", "status": "closed", "component": "Testing framework", "type": null, "severity": null, "version": "dev", "resolution": "invalid", "summary": "Regression of ticket #6820 (at least when using with GeoDjango)", "description": "It seems that the recent refactoring of introspection (changeset:8296) may have\r\nintroduced a regression of ticket:6820.\r\n\r\nWhen running tests of an application that uses GeoDjango, all tables are created\r\ncorrectly and fixtures manage to load without a problem. But the flush fails with the\r\nfollowing message:\r\n\r\n{{{\r\nError: Database test_epervago_django couldn't be flushed. Possible reasons:\r\n * The database isn't running or isn't configured correctly.\r\n * At least one of the expected database tables doesn't exist.\r\n * The SQL was invalid.\r\n Hint: Look at the output of 'django-admin.py sqlflush'. That's the SQL this command wasn't able to run.\r\n The full error: insert or update on table \"maps_userprofile\" violates foreign key constraint \"maps_userprofile_user_id_fkey\"\r\nDETAIL: Key (user_id)=(1) is not present in table \"auth_user\".\r\n}}}\r\n\r\nThis is the output of django-admin.py sqlflush:\r\n{{{\r\nTRUNCATE \"auth_permission\", \"auth_group\", \"auth_user_user_permissions\", \"django_site\", \r\n\"books_book\", \"django_content_type\", \"maps_district\", \"django_session\", \"auth_user_groups\", \r\n\"maps_area\", \"maps_city\", \"maps_listing\", \"maps_state\", \"books_book_tags\", \"django_admin_log\", \r\n\"maps_userprofile\", \"auth_group_permissions\", \"maps_userprofile_saved_listings\", \"maps_address\", \r\n\"books_author\", \"books_publisher\", \"maps_area_districts\", \"auth_message\", \"books_tag\", \"auth_user\";\r\n}}}\r\n", "owner": "nobody", "reporter": "eugene.pervago@gmail.com", "keywords": "gis geodjango tests flush introspection regression", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8250, "created": "2008-08-12 05:46:23", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:45.501215", "stage": "Accepted", "status": "closed", "component": "Documentation", "type": null, "severity": null, "version": "dev", "resolution": "duplicate", "summary": "\"information on MySQL transactions\" link in transaction docs no longer valid", "description": "The current link: http://dev.mysql.com/books/mysqlpress/mysql-tutorial/ch10.html\r\n\r\nNow redirects to a wiki page with essentially no content: http://forge.mysql.com/wiki/Recommended_Books\r\n\r\nAnyone know of a good resource to replace it with? Some options might be:\r\n * The latest reference manual chapter on transactions: http://dev.mysql.com/doc/refman/6.0/en/sql-syntax-transactions.html\r\n * Use the wayback machine (pretty slow though): http://web.archive.org/web/20080213144646/http://dev.mysql.com/books/mysqlpress/mysql-tutorial/ch10.html", "owner": "nobody", "reporter": "gwilson", "keywords": null, "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8251, "created": "2008-08-12 07:20:47", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:45.684969", "stage": "Accepted", "status": "closed", "component": "Core (Other)", "type": null, "severity": null, "version": "dev", "resolution": "duplicate", "summary": "Receiving NoReverseMatch using {% url %} and Generic Views", "description": "My project uses only generic views with named URL patterns. After updating to [8317] tonight, I ran into an error probably related to the [8211] NoReverseMatch exception change. Before the update, my `{% url %}` tags, which consist of only a single argument, e.g. `{% url project-list %}` return the following error:\r\n\r\n{{{\r\nTraceback (most recent call last):, referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/core/handlers/wsgi.py\", line 216, in __call__, referer: http://djangoplugables.com/\r\n response = self.get_response(request), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/core/handlers/base.py\", line 125, in get_response, referer: http://djangoplugables.com/\r\n return self.handle_uncaught_exception(request, resolver, exc_info), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/core/handlers/base.py\", line 157, in handle_uncaught_exception, referer: http://djangoplugables.com/\r\n return callback(request, **param_dict), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/views/defaults.py\", line 89, in server_error, referer: http://djangoplugables.com/\r\n return http.HttpResponseServerError(t.render(Context({}))), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 176, in render, referer: http://djangoplugables.com/\r\n return self.nodelist.render(context), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 751, in render, referer: http://djangoplugables.com/\r\n bits.append(self.render_node(node, context)), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 764, in render_node, referer: http://djangoplugables.com/\r\n return node.render(context), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/loader_tags.py\", line 97, in render, referer: http://djangoplugables.com/\r\n return compiled_parent.render(context), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 176, in render, referer: http://djangoplugables.com/\r\n return self.nodelist.render(context), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 751, in render, referer: http://djangoplugables.com/\r\n bits.append(self.render_node(node, context)), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 764, in render_node, referer: http://djangoplugables.com/\r\n return node.render(context), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/defaulttags.py\", line 29, in render, referer: http://djangoplugables.com/\r\n output = self.nodelist.render(context), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 751, in render, referer: http://djangoplugables.com/\r\n bits.append(self.render_node(node, context)), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/__init__.py\", line 764, in render_node, referer: http://djangoplugables.com/\r\n return node.render(context), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/template/defaulttags.py\", line 369, in render, referer: http://djangoplugables.com/\r\n args=args, kwargs=kwargs), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/core/urlresolvers.py\", line 307, in reverse, referer: http://djangoplugables.com/\r\n *args, **kwargs))), referer: http://djangoplugables.com/\r\n File \"/usr/lib/python2.5/site-packages/django/core/urlresolvers.py\", line 291, in reverse, referer: http://djangoplugables.com/\r\n raise NoReverseMatch(\"Reverse for '%s' not found.\" % lookup_view), referer: http://djangoplugables.com/\r\nNoReverseMatch: Reverse for 'settings.project-list' not found., referer: http://djangoplugables.com/\r\n}}}\r\n\r\nWhat bugs me here is that it is looking in `settings.project-list`. Why would it be looking in the settings for a named URL argument? I was told that this could be a bug and I am reporting it as such. Please do not complicate matters by trying to find something more complex. I am merely using generic views and named arguments, and I am receiving these errors.\r\n", "owner": "nobody", "reporter": "bryanveloso", "keywords": null, "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8252, "created": "2008-08-12 08:00:24", "changetime": "2008-08-12 08:08:57", "last_pulled_from_trac": "2022-03-06 03:41:45.824875", "stage": "Unreviewed", "status": "closed", "component": "*.djangoproject.com", "type": null, "severity": null, "version": null, "resolution": "invalid", "summary": "roadmap charts consider \"invalid\", \"duplicate\", etc. tickets as active", "description": "roadmap charts (http://code.djangoproject.com/roadmap) consider \"invalid\", \"duplicate\", etc. tickets as active, thus give incorrectly pessimistic statistics of progress.", "owner": "nobody", "reporter": "omat@gezgin.com", "keywords": "roadmap", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8253, "created": "2008-08-12 08:47:44", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:45.963465", "stage": "Accepted", "status": "closed", "component": "contrib.syndication", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "Regression: Atom feed lacks xmlns root attribute", "description": "Since [8311], the atom feed has no xmlns declaration anymore. The attached patch fixes the problem and adds an regression test.", "owner": "jacob", "reporter": "eibaan", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8254, "created": "2008-08-12 11:17:59", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:46.095182", "stage": "Accepted", "status": "closed", "component": "Core (Other)", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "incorrect sql query in many to many backwards relation using an intermediate table", "description": "using the following models:\r\n{{{\r\n#!python\r\nclass Project(models.Model):\r\n name = models.CharField(max_length = 30, primary_key = True)\r\n startDate = models.DateField(auto_now_add = True)\r\n active = models.BooleanField(default = True)\r\n\r\n def __unicode__(self):\r\n return self.name\r\n\r\nclass Tag(models.Model):\r\n id = models.AutoField(primary_key = True)\r\n name = models.CharField(max_length = 100)\r\n type = models.CharField(max_length = 100)\r\n project = models.ForeignKey(Project)\r\n\r\n class Meta:\r\n unique_together = ('name', 'project')\r\n\r\n def __unicode__(self):\r\n return self.name\r\n\r\nclass Document(models.Model):\r\n text = models.CharField(max_length=200)\r\n project = models.ForeignKey(Project)\r\n tags = models.ManyToManyField(Tag, through='Document2Tag')\r\n\r\n class Meta:\r\n unique_together = (\"text\", \"project\")\r\n\r\n def __unicode__(self):\r\n return unicode(self.id)\r\n\r\nclass Document2Tag(models.Model):\r\n document = models.ForeignKey(Document)\r\n tag = models.ForeignKey(Tag)\r\n user = models.ForeignKey(User)\r\n\r\n def __unicode__(self):\r\n return u'(%s, %s, %s)' % (self.document.id, self.tag.name, self.user.username)\r\n\r\n}}}\r\n\r\nI've made the following query:\r\n\r\n{{{\r\n#!python\r\n>>> from general.models import *\r\n>>> from django.contrib.auth.models import User\r\n>>> user1 = User.objects.get(username='user1')\r\n>>> user2 = User.objects.get(username='user2')\r\n>>> project = Project.objects.get(name='project1')\r\n>>> Document.objects.all()\r\n[, ]\r\n>>> Tag.objects.all()\r\n[, ]\r\n>>> Document2Tag.objects.all()\r\n[, ]\r\n>>> tag1 = Tag.objects.get(name='tag1')\r\n>>> tag1.document_set.filter(document2tag__user=user1)\r\n[]\r\n>>> tag1.document_set.filter(document2tag__user=user2)\r\n[]\r\n}}}\r\n\r\nas you can see in the above scenario, 'tag1' is incorrectly associated with 'document1' when querying about 'user2'\r\n\r\nthe expected result would be an empty list on the last query.\r\n\r\nthe sql query for reference:\r\n{{{\r\n#!sql\r\n>>> print tag1.document_set.filter(document2tag__user=user2).query\r\nSELECT `general_document`.`id`, `general_document`.`text`, `general_document`.`project_id` \r\nFROM `general_document` \r\nINNER JOIN `general_document2tag` \r\n ON (`general_document`.`id` = `general_document2tag`.`document_id`) \r\nINNER JOIN `general_document2tag` T4 \r\n ON (`general_document`.`id` = T4.`document_id`) \r\nWHERE (`general_document2tag`.`tag_id` = BINARY 1 AND T4.`user_id` = BINARY 3 )\r\n}}}\r\n\r\n(note the double inner join with `general_document2tag`)", "owner": "mtredinnick", "reporter": "ido", "keywords": "m2m many2many ManyToMany sql query through", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8256, "created": "2008-08-12 12:57:34", "changetime": "2011-09-28 16:12:16", "last_pulled_from_trac": "2022-03-06 03:41:46.408684", "stage": "Unreviewed", "status": "closed", "component": "Core (Other)", "type": null, "severity": null, "version": "dev", "resolution": "duplicate", "summary": "Changeset [8282] broke settings.py", "description": "When doing `manage.py runserver` it seems the settings in `settings.py` is ignored. I traced the error to the a change in [8282]. When doing `__import__(\"projectname.settings\")` it is actually the `projectname(/__init__.py)` that gets imported. From `help(__import__)`:\r\n\r\n{{{\r\n When importing a module from a package, note that __import__('A.B', ...)\r\n returns package A when fromlist is empty, but its submodule B when\r\n fromlist is not empty.\r\n}}}\r\n\r\nI came up with a solution in the diff attached, which works for me.\r\n\r\nRegards,\r\n Christian", "owner": "nobody", "reporter": "chrj", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8257, "created": "2008-08-12 13:02:20", "changetime": "2008-08-12 13:03:23", "last_pulled_from_trac": "2022-03-06 03:41:46.556635", "stage": "Unreviewed", "status": "closed", "component": "Tools", "type": null, "severity": null, "version": "dev", "resolution": "invalid", "summary": "Wiki at code.djangoproject.com incorrectly rejecting edits as spam", "description": "Tried to add several Django error messages and their causes.\r\n\r\nGot \"500 Internal Server Error (Submission rejected as potential spam)\".", "owner": "nobody", "reporter": "anonymous", "keywords": null, "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8259, "created": "2008-08-12 14:42:47", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:46.851554", "stage": "Accepted", "status": "closed", "component": "HTTP handling", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "core/handlers/wsgi.py: raises TypeError in _get_raw_post_data if CONTENT_LENGTH is empty.", "description": " * write a view which gets raw_post_data from request.\r\n * run development server\r\n * use pycurl or other client which can send an empty Content-length header.\r\n * raises TypeError near: core/handlers/wsgi.py:175 \r\n {{{\r\n content_length = int(self.environ.get('CONTENT_LENGTH', 0))\r\n }}}\r\n * the problem is that CONTENT_LENGTH is None and type(None) -> TypeError\r\n\r\nI vave to further investigate this.", "owner": "kevin", "reporter": "erny", "keywords": "aug22sprint", "easy": 0, "has_patch": 1, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8260, "created": "2008-08-12 15:05:56", "changetime": "2011-09-28 16:12:16", "last_pulled_from_trac": "2022-03-06 03:41:46.994868", "stage": "Accepted", "status": "closed", "component": "Database layer (models, ORM)", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "MySQLDb v 1.2.1 -- no VARCHAR", "description": "The Change in r8318 i assumes Mysqldb 1.2.2, 1.2.1 does not have have VARCHAR as a Field Type\r\n\r\nnot too sure what to do about that, other then hard code '15' for the usage in django/db/backends/mysql/base.py.\r\n\r\nbut that seems to be the only thing about 1.2.1 v 1.2.2 that breaks the doc statement\r\n\r\n\"If you\u2019re using MySQL, you\u2019ll need MySQLdb, version 1.2.1p2 or higher. You will also want to read the database-specific notes for the MySQL backend.\"", "owner": "mtredinnick", "reporter": "magneto", "keywords": "mysqldb", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8261, "created": "2008-08-12 15:29:59", "changetime": "2013-10-29 21:10:53", "last_pulled_from_trac": "2022-03-06 03:41:47.131406", "stage": "Ready for checkin", "status": "closed", "component": "contrib.admin", "type": "New feature", "severity": "Normal", "version": "dev", "resolution": "fixed", "summary": "ModelAdmin hook for customising the \"show on site\" button", "description": "As Simon Willison [http://groups.google.com/group/django-developers/browse_thread/thread/6dd78862b887438c?hl=en& suggested on django developers]:\r\n\r\n{{{\r\nFurther thinking about get_absolute_url. At the moment, the main \r\nreason it's a standard in Django is that it is used by \r\ndjango.contrib.admin to display the \"show on site\" button inside the \r\nadmin interface. \r\n\r\nThis mechanism isn't very robust. Admin sites are often run on \r\ndifferent subdomains from the rest of the site, which means that \r\nget_absolute_url on its own isn't enough - instead, we have to go \r\nthrough the whole /r/{{ content-type-id }}/{{ object-id }}/ palaver \r\nwhich attempts to figure out the site based on ForeignKey(Site) \r\nproperties on the model, or by using the default site from SITE_ID. \r\n\r\nIt would make a lot more sense to allow ModelAdmin subclasses to \r\ndefine that behaviour themselves, for example: \r\n\r\nclass ArticleAdmin(admin.ModelAdmin): \r\n ... \r\n def show_on_site(self, obj): \r\n return 'http://livesite.example.com' + obj.get_url_path() \r\n\r\nWe could even support \"show_on_site = True\" as meaning \"include the \r\nshow on site link, using cleverness to figure out the link\" whereas \r\nshow_on_site = a_callable means \"call this function to figure out the \r\nURL for that link\".\r\n}}}", "owner": "unaizalakain", "reporter": "jarrow", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 1} {"id": 8262, "created": "2008-08-12 17:09:46", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:47.281635", "stage": "Accepted", "status": "closed", "component": "Documentation", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "ADMINS setting referred to as ADMIN in settings.txt", "description": "There's one spot where ADMINS is erroneously called ADMIN. Fixed in attached patch.", "owner": "jacob", "reporter": "Brian Victor ", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8263, "created": "2008-08-12 18:15:15", "changetime": "2013-06-28 09:19:50", "last_pulled_from_trac": "2022-03-06 03:41:47.435374", "stage": "Unreviewed", "status": "closed", "component": "Database layer (models, ORM)", "type": "Uncategorized", "severity": "Normal", "version": "dev", "resolution": "invalid", "summary": "models.TextField max_length", "description": "if some model has file type of models.!CharField.\r\n\r\nWhen field string was overflow max_length, !ProgramError was raised.\r\n\r\nBut, if model has field type of models.!TextField in same case.\r\n\r\nNothing was raised.\r\n\r\nIn this case, max_length seems to be a useless thing.\r\n\r\n", "owner": "nobody", "reporter": "osanha", "keywords": "TextField, max_length", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8264, "created": "2008-08-12 20:10:47", "changetime": "2013-03-14 22:04:05", "last_pulled_from_trac": "2022-03-06 03:41:47.589712", "stage": "Accepted", "status": "new", "component": "Core (URLs)", "type": "New feature", "severity": "Normal", "version": "dev", "resolution": null, "summary": "Replace get_absolute_url with more sane alternative", "description": "See http://code.djangoproject.com/wiki/ReplacingGetAbsoluteUrl", "owner": "simon", "reporter": "simon", "keywords": null, "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8265, "created": "2008-08-12 20:47:43", "changetime": "2008-08-23 01:10:47", "last_pulled_from_trac": "2022-03-06 03:41:47.750126", "stage": "Unreviewed", "status": "closed", "component": "Template system", "type": null, "severity": null, "version": "dev", "resolution": "duplicate", "summary": "Debug template exception message is confuse", "description": "When some error happens and the debug page for error 500 is shown with debug informations, the exception value is shown as a H2 element, like this:\r\n\r\n{{{\r\nCaught an exception while rendering: The 'image' attribute has no file associated with it. Original Traceback (most recent call last): File \"../django/django/template/debug.py\", line 71, in render_node result = node.render(context) File \"../django/django/template/defaulttags.py\", line 148, in render nodelist.append(node.render(context)) File \"../django/django/template/debug.py\", line 87, in render output = force_unicode(self.filter_expression.resolve(context)) File \"../django/django/template/__init__.py\", line 518, in resolve obj = self.var.resolve(context) File \"../django/django/template/__init__.py\", line 659, in resolve value = self._resolve_lookup(context) File \"../django/django/template/__init__.py\", line 688, in _resolve_lookup current = getattr(current, bit) File \"/arquivos/Trabalhos/WN/Cranes/cranes_com/apps/spares/models.py\", line 108, in __getattr__ thumbnail = get_image_thumbnail_filename() File \"/arquivos/Trabalhos/WN/Cranes/cranes_com/apps/spares/models.py\", line 100, in get_image_thumbnail_filename file, ext = os.path.splitext(self.image.path) File \"../django/django/db/models/fields/files.py\", line 50, in _get_path self._require_file() File \"../django/django/db/models/fields/files.py\", line 40, in _require_file raise ValueError(\"The '%s' attribute has no file associated with it.\" % self.field.name) ValueError: The 'image' attribute has no file associated with it. \r\n}}}\r\n\r\n\r\nThis is VERY confuse and make developer spent some time to find the error message and the file/line where the error occured.\r\n\r\nMy suggestion is change the H2 tag to PRE, with some CSS changes, so, the line breaks are respected exactly as they are when Python raises the exception.", "owner": "nobody", "reporter": "marinho", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8266, "created": "2008-08-12 21:01:43", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:47.917244", "stage": "Accepted", "status": "closed", "component": "contrib.formtools", "type": null, "severity": null, "version": "dev", "resolution": "duplicate", "summary": "Form composed entirely of BooleanFields fails FormWizard hash validation", "description": "!FormWizard's call method checks the hash of the previous forms against the key in the POST data. If you use a form entirely composed of !BooleanFields, it will fail the hash check. I think this is because the raw POST data sets the field to 'on', while the BF normalizes this data to True.\r\n\r\nHere is a dump of my POST data. The hash for all 1-x values is deb9fcbe6ea61734b57d7107146a73a7. You can see in the POST data it was expecting f14a8cc9fbac45395d96d2e4096b7b79. I think the previous value was being generated based on raw POST data and not boundfield values.\r\n{{{\r\n1-9 \tu'False'\r\nwizard_step u'2'\r\n1-15 \tu'False'\r\n1-14 \tu'False'\r\n1-17 \tu'False'\r\n0-type \tu'Wedding'\r\n1-11 \tu'False'\r\n1-10 \tu'False'\r\n1-13 \tu'False'\r\n1-12 \tu'False'\r\n0-take_requests u'Yes'\r\n1-18 \tu'False'\r\nhash_1 \tu'f14a8cc9fbac45395d96d2e4096b7b79'\r\nhash_0 \tu'edc21eaca82256ba02b38e7a4e7f07c4'\r\n0-special_requests u''\r\n0-email \tu'rokclimb15@gmail.com'\r\n1-8 \tu'False'\r\n2-1 \tu'on'\r\n1-1 \tu'False'\r\n1-3 \tu'on'\r\n1-2 \tu'on'\r\n1-5 \tu'False'\r\n1-4 \tu'False'\r\n1-7 \tu'False'\r\n1-6 \tu'False'\r\n0-date \tu'08/12/2008'\r\n0-name \tu'Brian Morton'\r\n0-interaction_level \tu'Reserved'\r\n1-16 \tu'False'\r\n0-location \tu'Atlanta'\r\n}}}", "owner": "nobody", "reporter": "rokclimb15", "keywords": "FormWizard", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8267, "created": "2008-08-12 21:46:07", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:48.043853", "stage": "Accepted", "status": "closed", "component": "Documentation", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "Default FileStore setting show wrong module", "description": "The default settings looks to be 'django.core.file.filesystem.FileSystemStorage' instead of 'django.core.filestorage.filesystem.FileSystemStorage' which the docs have.", "owner": "jacob", "reporter": "sethtrain", "keywords": null, "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8268, "created": "2008-08-12 22:00:05", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:48.173224", "stage": "Accepted", "status": "closed", "component": "Testing framework", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "admin_scripts test doesn't take into account the JYTHONPATH environment variable", "description": "Very recently Jython started to recognize the JYTHONPATH environment variable. \r\n\r\nThus, it should be cleared before calling a jython subprocess and restored afterwards, on source:django/trunk/tests/regressiontests/admin_scripts/tests.py.", "owner": "leosoto", "reporter": "leosoto", "keywords": "jython", "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8269, "created": "2008-08-12 22:53:04", "changetime": "2008-08-12 23:18:53", "last_pulled_from_trac": "2022-03-06 03:41:48.343372", "stage": "Unreviewed", "status": "closed", "component": "contrib.sessions", "type": null, "severity": null, "version": "dev", "resolution": "wontfix", "summary": "sessions should only be marked modified when data actually changes", "description": "the modified flag on sessions currently is set on any assignment, even if you put the same data, which can make for a lot of duplicate writes", "owner": "nobody", "reporter": "cgrady", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8271, "created": "2008-08-12 23:42:04", "changetime": "2008-09-03 15:22:59", "last_pulled_from_trac": "2022-03-06 03:41:48.685977", "stage": "Accepted", "status": "closed", "component": "*.djangoproject.com", "type": null, "severity": null, "version": "dev", "resolution": "fixed", "summary": "Typo in \"Activate your djangoproject.com account\" email body", "description": "Here's the text of the \"Activate your djangoproject.com account\" email:\r\n\r\n\r\n{{{\r\nSomeone, hopefully you, signed up for a new account at using this email address. \r\nIf it was you, and you'd like to activate and use your account, click the link below\r\nor copy and paste it into your web browser's address bar:\r\n\r\nhttp://www.djangoproject.com/accounts/activate//\r\n\r\nIf you didn't request this, you don't need to do anything;\r\nyou won't receive any more email from us, and the account will expire automatically in three days.\r\n\r\n\r\n}}}\r\n\r\nNote the first line: \"a new account at using this\": something is missing between \"at\" and \"using\".", "owner": "jacob", "reporter": "jjackson", "keywords": null, "easy": 0, "has_patch": 0, "needs_better_patch": 0, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8255, "created": "2008-08-12 12:19:35", "changetime": "2008-08-12 14:39:53", "last_pulled_from_trac": "2022-03-06 03:41:46.230989", "stage": "Unreviewed", "status": "closed", "component": "Documentation", "type": null, "severity": null, "version": "dev", "resolution": "wontfix", "summary": "Nobody reads the BackwardsIncompatibleChanges page", "description": "From the django irc room:\r\n{{{\r\nout))\r\n[10:49am] daonb: I'm trying to test the trunk and here's what I'm getting - http://dpaste.com/70874/ - \r\nI'm using 2.5.1 and postgres_psycopg2 on a OSX 10.5\r\n[10:54am] Matro: huh, was get__filename removed?\r\n[10:55am] mattmcc: Nobody reads the BackwardsIncompatibleChanges page.\r\n[10:56am] Matro: I kept finding the one from the last revision\r\n[10:56am] Matro:\r\n[10:56am] mattmcc: http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#Filestoragerefactoring\r\n[10:58am] daonb: I'll read it, but I just did an 'svn up' and 'python setup.py install' and tested my installation. \r\nusing runtests.pt. It should pass out of the box\r\n[10:58am] \r\n}}}", "owner": "nobody", "reporter": "daonb ", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 1, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8258, "created": "2008-08-12 13:51:22", "changetime": "2011-09-28 16:12:17", "last_pulled_from_trac": "2022-03-06 03:41:46.717759", "stage": "Accepted", "status": "closed", "component": "contrib.admin", "type": null, "severity": null, "version": "dev", "resolution": "duplicate", "summary": "Double escaping in admin delete confirmation", "description": "As reported by Pryankster in [1], the related objects to be deleted and listed in the admin's delete confirmation page are escaped twice: once in `admin.util.get_deleted_objects()` and once in the `unordered_list` filter.\r\n\r\n[1] http://groups.google.com/group/django-users/browse_thread/thread/911d5a0f6c53fdf2", "owner": "nobody", "reporter": "julien", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 1, "needs_tests": 0, "needs_docs": 0, "ui_ux": 0} {"id": 8270, "created": "2008-08-12 23:13:54", "changetime": "2014-06-08 19:55:52", "last_pulled_from_trac": "2022-03-06 03:41:48.502448", "stage": "Accepted", "status": "closed", "component": "contrib.contenttypes", "type": "New feature", "severity": "Normal", "version": "dev", "resolution": "fixed", "summary": "Add convenience method to ContentTypeManager", "description": "app_label, model_name (e.g. ('news', 'story')) is often passed around internally in our codebase.\r\n\r\nThe attached patch would be nice in Django, since otherwise we do a little hula to get the ContentType object. Doing a direct query would miss the handy cache ContentTypeManager includes.\r\n\r\n", "owner": "nobody", "reporter": "jdunck", "keywords": null, "easy": 0, "has_patch": 1, "needs_better_patch": 1, "needs_tests": 1, "needs_docs": 1, "ui_ux": 0}