tickets_full

29,846 rows sorted by stage

View and edit SQL

Suggested facets: type, severity, resolution, easy, has_patch, needs_better_patch, needs_tests, ui_ux

These facets timed out: needs_docs

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
2 2005-07-13 19:04:45 2007-07-03 23:04:18 2019-06-24 00:15:17.570436 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
13 2005-07-13 19:20:21 2011-09-08 05:35:18 2019-06-24 00:15:24.647923 Accepted closed contrib.admin New feature Normal master 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 2019-06-24 00:15:25.275529 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
17 2005-07-13 19:25:18 2018-11-18 13:56:05 2019-06-24 00:15:27.208919 Accepted closed Database layer (models, ORM) New feature Normal master 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
23 2005-07-13 19:34:33 2013-10-15 09:17:25 2019-06-24 00:15:31.099666 Accepted closed Forms New feature Normal   wontfix Add support for ValidationWarning We've talked in the past about how useful it would be to let certain validators throw ValidationWarning instead of ValidationError. A ValidationWarning, when thrown, would still redisplay the admin form but display an additional checkbox above the field. If that checkbox is checked when the form is submitted, the error is ignored. The change would have to be made in django/core/formfields.py. jgeskens adrian   0 1 1 0 1 1
25 2005-07-13 19:35:54 2013-06-02 18:10:34 2019-06-24 00:15:32.403051 Accepted closed contrib.admin Bug Normal master fixed Filtering interface on ForeignKey <select> boxes Select boxes are a pain, and slow, to deal with when there are a lot of values to select from. (Example: datelines on news stories). There should be a generator option, use_filter_interface, available on select boxes. It would add an <input type="text"> next to the select box and allow users to filter the select box that way. This would make data entry quicker, because folks could just paste in the dateline they want, and it'd be selected for them (assuming it's been entered as a dateline in the system). nobody adrian feature 0 1 1 0 0 1
28 2005-07-13 19:41:08 2007-07-17 21:49:58 2019-06-24 00:15:34.418230 Accepted closed Metasystem enhancement normal   duplicate Delete confirmation should have "replace relationships" shortcut This is best explained with an example. Right now, when I click to delete a duplicate dateline, I get a list of all the news stories that feature that dateline. So I click on each story to change its dateline to the correct (non-duplicate) dateline, because if I didn't do that, deleting the dateline would delete all those stories. Then, once I've changed all the stories, I can delete the dateline safely, because it won't have any relationships. What I want is the delete-confirmation page for datelines -- and everything else -- to offer a "convert all of these stories' datelines to the following *different* dateline" select box. adrian adrian   0 0 0 0 0 0
48 2005-07-17 16:11:23 2007-07-21 14:43:57 2019-06-24 00:15:47.471147 Accepted closed Database layer (models, ORM) defect normal   fixed Unit tests for MySQL support Since more people are going to be using MySQL than PostgreSQL, but the MySQL support is new and mostly untested, let's build up a comprehensive set of unit tests for the MySQL stuff. We might even be able to share them with other database backends. This would make it much easier to add sqlite support (for example) later on. adrian Simon Willison   0 0 0 0 0 0
49 2005-07-17 17:45:42 2007-07-03 23:03:32 2019-06-24 00:15:48.093157 Accepted closed contrib.admin defect normal   fixed Remove references to http://media.ljworld.com from the code Apparently http://media.ljworld.com is scattered through the code: {{{ simon:~/src/trunk$ grep -R "media.ljworld.com" * | grep -v ".svn" media/js/admin/add_calendars.js: quickElement('img', cal_link, '', 'src', 'http://media.ljworld.com/img/admin/icon_calendar.gif', 'alt', 'Calendar'); media/js/admin/DateTimeShortcuts.js: quickElement('img', clock_link, '', 'src', 'http://media.ljworld.com/img/admin/icon_clock.gif', 'alt', 'Clock'); media/js/admin/DateTimeShortcuts.js: quickElement('img', cal_link, '', 'src', 'http://media.ljworld.com/img/admin/icon_calendar.gif', 'alt', 'Calendar'); media/js/SelectFilter2.js: quickElement('img', filter_p, '', 'src', 'http://media.ljworld.com/img/admin/selector-search.gif'); media/js/SelectFilter2.js: quickElement('img', selector_filter, '', 'src', 'http://media.ljworld.com/img/admin/selector-add.gif', 'alt', 'Add'); }}} adrian Simon Willison   0 0 0 0 0 0
55 2005-07-18 05:42:08 2007-07-03 23:03:50 2019-06-24 00:15:51.875254 Accepted closed Tools defect normal   wontfix add a logger to django insert the block into django.conf.settings file at line 32. {{{ #python a = me.SETTINGS_MODULE.split( '.' ) if 'settings' in a: idx = a.index( 'settings' ) if idx > 0: projname = a[idx-1] projmod = __import__( projname , '', '', ['']) else: projname = 'django' import django as projmod logdir = os.path.split( projmod.__file__ )[0] + os.sep + 'logs' if not os.access( logdir , os.W_OK ): raise 'Cannot write log file in dir: ' + logdir import logging logger = logging.getLogger( projname ) hdlr = logging.FileHandler( logdir + os.sep + projname + '.log' ) formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') hdlr.setFormatter(formatter) logger.addHandler( hdlr ) logger.setLevel( logging.DEBUG ) __builtins__['log'] = logger log.info( 'project logger start' ) }}} make sure you have created 'logs' folder at your project or django src. then you can use log object anywhere. ATTENTION: NOT fully tested. adrian james log 0 0 0 0 0 0
56 2005-07-18 08:23:54 2019-06-04 13:23:29 2019-06-24 00:15:52.490950 Accepted assigned Database layer (models, ORM) New feature Normal master   Primary key columns should be UNSIGNED This gets you twice the integer space, and seems to me to be a nice sanity check. Don't know if the same would go for Postgres. Not enough into the code right know to produce a patch myself. caioariede Manuzhai <mail@manuzhai.nl> mysql 0 1 1 0 0 0
64 2005-07-18 16:37:56 2007-07-03 23:03:39 2019-06-24 00:15:57.681476 Accepted closed Core (Cache system) enhancement normal   fixed Add cache middleware It should be possible to say "Cache every page on this site." We'd use middleware for this. adrian adrian   0 0 0 0 0 0
67 2005-07-18 17:28:38 2007-07-03 23:04:03 2019-06-24 00:15:59.686798 Accepted closed Core (Other) enhancement normal   fixed Make specifying 'human-readable' name optional. I noticed that in the fields for the models in tutorial 1, three out of the four 'human-readable' names were identical to the 'machine-friendly' names. Following the DRY principle, I think that the specifying the 'human-readable' name should be optional, defaulting to the machine-friendly name. Here is a svn diff for a (trivial) implementation: {{{ Index: django/core/meta.py =================================================================== --- django/core/meta.py (revision 174) +++ django/core/meta.py (working copy) @@ -1564,13 +1564,13 @@ # database level. empty_strings_allowed = True - def __init__(self, name, verbose_name, primary_key=False, + def __init__(self, name, verbose_name=None, primary_key=False, maxlength=None, unique=False, blank=False, null=False, db_index=None, core=False, rel=None, default=NOT_PROVIDED, editable=True, prepopulate_from=None, unique_for_date=None, unique_for_month=None, unique_for_year=None, validator_list=None, choices=None, radio_admin=None, help_text=''): - self.name, self.verbose_name = name, verbose_name + self.name, self.verbose_name = name, verbose_name or name self.primary_key = primary_key self.maxlength, self.unique = maxlength, unique self.blank, self.null = blank, null }}} adrian mmarshall at myrealbox dot com   0 0 0 0 0 0
72 2005-07-18 20:54:10 2012-11-23 02:29:52 2019-06-24 00:16:03.020140 Accepted closed Core (Other) defect normal   fixed Django should add charset info to output HTTP headers It seems Django doesn't add the "charset=utf8" field to "Content-type: text/html" header while sending headers to the browser. This cause pages encoded as UTF-8 look wrong in the browser (Firefox assumes page is encoded using iso-8859-1, which is the default HTTP encoding). Sample headers sent by Django: {{{ Date: Mon, 18 Jul 2005 20:51:43 GMT Server: Apache/2.0.54 (Win32) mod_python/3.1.4 Python/2.4.1 Connection: close Transfer-Encoding: chunked Content-Type: text/html 200 OK }}} Patching Content-type header to look like "Content-Type: text/html; charset=utf-8" would make clear which encoding is used by the server. [http://www.w3.org/International/O-HTTP-charset More info about charset param here.] adrian anonymous   0 0 0 0 0 0
73 2005-07-18 21:05:45 2007-07-03 23:03:38 2019-06-24 00:16:03.658483 Accepted closed *.djangoproject.com enhancement normal   fixed Sample templates in the repository? I wonder if it would be possible to have the templates for this site also in the repository. This would be a useful starting point for beginning users, but maybe it's impossible due to copyright issues or some such. Also, the need for these things may disappear when the next tutorial appears - but still... jacob Manuzhai <mail@manuzhai.nl>   0 0 0 0 0 0
75 2005-07-18 21:17:26 2007-07-03 23:04:01 2019-06-24 00:16:04.923669 Accepted closed Metasystem defect normal   fixed Add support for recursive ManyToManyFields {{{ManyToManyField}}}s should be able to be related to {{{"self"}}}, as {{{ForeignKey}}}s can. adrian slashzero   0 0 0 0 0 0
76 2005-07-18 21:21:48 2007-07-03 23:04:02 2019-06-24 00:16:05.555560 Accepted closed Tools defect normal   fixed Development server should serve admin images, too The simple server started by {{{django-admin.py runserver}}} should serve admin images. It's a pain to have to set up Apache just to serve those. adrian adrian   0 0 0 0 0 0
79 2005-07-19 02:27:56 2007-07-03 23:03:51 2019-06-24 00:16:07.420167 Accepted closed contrib.admin defect normal   invalid Unable to run admin interface via stand-alone server Under revision 191. Running: > django-admin.py runserver 8888 When accessing admin URL receive below. ===== There's been an error: Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/django/core/handlers/wsgi.py", line 184, in get_response callback, param_dict = resolver.resolve(path) File "/usr/lib/python2.3/site-packages/django/core/urlresolvers.py", line 85, in resolve raise Http404, app_path Http404: admin/ adrian jyap@raywoodcommunications.com   0 0 0 0 0 0
88 2005-07-19 16:57:51 2007-07-03 23:03:29 2019-06-24 00:16:13.069853 Accepted closed Core (Other) defect trivial   fixed Configuration should be more forgiving to users who forget the trailing comma. It is really easy for users to forget the trailing comma in configuration settings that should be a tuple, resulting in weird errors. In order to help keep (new) users from getting frustrated, a string should be converted into a tuple for these settings. Here is a patch to implement this: {{{ Index: django/conf/settings.py =================================================================== --- django/conf/settings.py (revision 211) +++ django/conf/settings.py (working copy) @@ -29,9 +29,16 @@ except ImportError, e: raise EnvironmentError, "Could not import DJANGO_SETTINGS_MODULE '%s' (is it on sys.path?): %s" % (me.SETTINGS_MODULE, e) + +# a list of settings that should be converted into tuples if they are strings: +tuple_settings = ["INSTALLED_APPS","TEMPLATE_DIRS"] + for setting in dir(mod): if setting == setting.upper(): - setattr(me, setting, getattr(mod, setting)) + setting_value = getattr(mod, setting) + if setting in tuple_settings and type(setting_value) == str: + setting_value = (setting_value,) #In case the user forgot the comma. + setattr(me, setting, setting_value) # save DJANGO_SETTINGS_MODULE in case anyone in the future cares me.SETTINGS_MODULE = os.environ.get('DJANGO_SETTINGS_MODULE', '') }}} Note that I only put two entries in the tuple_settings list, as they are the only ones I know of. If there are more, they should be added. adrian mmarshall   0 0 0 0 0 0
91 2005-07-19 21:45:54 2007-07-03 23:05:24 2019-06-24 00:16:15.030115 Accepted closed Core (Other) enhancement normal   duplicate A (possible) cleaner ORM fields description Here is a cleaner approach to the ORM fields. Using this patch, the example in the tutorial can be changed to this: {{{ from django.core.meta import Model # Create your models here. class Poll(Model): def fields(Field): Field.Char('question', maxlength=200) Field.DateTime('pub_date', 'date published') class Choice(Model): def fields(Field): Field.ForeignKey(Poll) Field.Char('choice', 'choice', maxlength=200, core=True) Field.Integer('votes', 'votes', core=True) }}} I have done an implementation, which is fully backwards compatible, and quite simple. {{{ Index: django/core/meta.py =================================================================== --- django/core/meta.py (revision 227) +++ django/core/meta.py (working copy) @@ -377,12 +377,53 @@ new_v.func_globals[k] = func new_functions[k] = func + +class FieldGenerator(object): + """FieldGenerator is used for... uh... Generating fields. It has attributes, + such as "Char" and "DateTime", that can be used to create class instances such as + "CharField" or "DateTimeField". These instances are then added to the list "fields", + which can be retrieved to be used as the "fields" attribute in a Model class.""" + def __init__(self): + self.fields = [] + self.last_class = None #This is the class obj that corrisponds to the last __getattr__ call. + + def __getattr__(self,name): + self.last_class = None + try: + obj = eval(name+"Field") + if issubclass(obj,Field): self.last_class = obj + except NameError: pass + if not self.last_class: # If name+"Field" didn't work, just try name. + try: + obj = eval(name) + if issubclass(obj,Field): self.last_class = obj + except NameError: pass + if not self.last_class: + raise AttributeError("Could not find either %s or %sField (or they are not decendants… adrian mmarshall   0 0 0 0 0 0
106 2005-07-20 09:41:37 2008-11-12 16:25:37 2019-06-24 00:16:24.400549 Accepted closed contrib.admin defect normal   fixed [patch] Problem with some js/select box on IE Extract from Tutorial 1: 'When you click "Add Another," you'll get a popup window with the "Add poll" form. If you add a poll in that window and click "Save," Django will save the poll to the database and dynamically add it as the selected choice on the "Add choice" form you're looking at.' This (dynamically add it) works on Mozilla 1.0.4 Win. It is not true on IE 6. A blank string is shown instead of name of the new poll. Just after a manual refresh of the page things appear correctly. kmtracey paolo   0 1 1 1 1 0
109 2005-07-20 13:17:49 2007-07-03 23:03:46 2019-06-24 00:16:26.276816 Accepted closed contrib.admin defect blocker   fixed Patch: Customizing Date(Time)Field displays In the admin interface, dates are displayed as July 11, 2005, 8:39 p.m., while I'd at the least prefer to have a 24-hour format for the time. I think there should be options DATE_FORMAT, TIME_FORMAT and DATETIME_FORMAT which take care of the default formatting for these fields. anonymous Manuzhai   0 0 0 0 0 0
115 2005-07-20 17:37:01 2007-10-21 19:53:27 2019-06-24 00:16:30.004029 Accepted closed Core (Other) enhancement normal   invalid Models CRUD via web services Sometimes we need to offer public avaible CRUD API for existing models. That doesn't request too much creativity and can be generated automatically. It would be great to have them out of box, like admin interface. nobody maurycy feature_request 0 0 0 0 0 0
120 2005-07-20 19:49:48 2007-07-03 23:05:27 2019-06-24 00:16:33.174445 Accepted closed Tools defect normal   fixed djang-admin.py called without argument Calling django-admin.py with no argument gives the following traceback: {{{ Traceback (most recent call last): File "./django-admin.py", line 102, in ? main() File "./django-admin.py", line 63, in main print_error("An 'action' is required.") TypeError: print_error() takes exactly 2 arguments (1 given) }}} And print_error function (defined line 43), effectively wants 2 arguments ;) I'm using rev 249 of Django's trunk. Attached is a trivial proposed patch. adrian anonymous   0 0 0 0 0 0
121 2005-07-20 20:20:29 2007-07-03 23:04:25 2019-06-24 00:16:33.801943 Accepted closed Metasystem enhancement normal   fixed [patch] Names in SQL should be quoted Some valid Python-identifiers are reserved words in SQL-databases, for instance "when" in PostgreSQL. It would be very nice, if Django would quote all names (e.g. schema, table, row) in SQL statements, so these database-reserved words would not pose problems. adrian sune.kirkeby@gmail.com sql 0 1 0 0 0 0
128 2005-07-20 23:39:49 2007-07-03 23:03:54 2019-06-24 00:16:38.175802 Accepted closed Template system defect normal   worksforme IndexError when using invalid {% extends %} in template should be replaced with better error message. First of all the error {{{ There's been an error: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 190, in get_response return callback(request, **param_dict) File "/home/espen/django/blog/apps/blog/views/blog.py", line 20, in details return HttpResponse(t.render(c)) File "/usr/lib/python2.4/site-packages/django/core/template.py", line 116, in render return self.nodelist.render(context) File "/usr/lib/python2.4/site-packages/django/core/template.py", line 437, in render bits.append(node.render(context)) File "/usr/lib/python2.4/site-packages/django/core/template_loader.py", line 80, in render parent_is_child = isinstance(compiled_parent.nodelist[0], ExtendsNode) IndexError: list index out of range }}} The template file that trys to extend base.html: {{{ {% extends "base" %} {% block title %} Espen Grindhaug - Blog - {{ obj.headline }} {% endblock %} {% block content %} <h1>{{ obj.headline }}</h1> <p class="summary">{{ obj.summary }}</p> <p class="body">{{ obj.body }}</p> <p class="by">By {{ obj.author }} ({{ obj.pub_date }})</p> {% endblock %} }}} The weird thing here is that I get exactly the same error with completly different child template. base.html (the same as in [http://www.djangoproject.com/documentation/templates/#template-inheritance URL]): {{{ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <link rel="stylesheet" href="style.css" /> <title>{% block title %}Espen Grindhaug{% endblock %}</title> </head> <body> <div id="sidebar"> {% block sidebar %} <ul> <li><a href="/">Home</a></li> <li><a href="/blog/">Blog</a></li> </ul> {% endblock %} </div> <div id="content"> {% block content %}{%… adrian espen@grindhaug.org   0 0 0 0 0 0
129 2005-07-21 00:02:52 2007-07-03 23:04:03 2019-06-24 00:16:38.808651 Accepted closed Metasystem defect normal   fixed Multiple ManyToManyField fields with same "to" reference tries to create duplicate tables Revsion 257 added support for adding multiple !ManyToManyField fields with the same "to" class on the same class. I've tried adding two fields where one has an explicit rel_name option but running "django-admin.py sql myapp" is showing two CREATE TABLE statements with the same table name. I think I've tracked the problem down to the get_m2m_db_table method in the !ManyToManyField class in core/meta.py but I don't understand the code base enough yet to try to fix it. It looks like the code is returning the name as myapp_fromname_toname but I'd expect the name of the many-to-many table to be myapp_relname when the rel_name option is specified. I'm using the MySQL database engine but I don't think that has any bearing on this problem. adrian jason@diamond.name   0 0 0 0 0 0
137 2005-07-21 12:47:53 2007-08-25 23:18:51 2019-06-24 00:16:43.786521 Accepted closed Generic views defect normal   fixed TypeError: can't compare datetime.datetime to datetime.date in date_based.py R267: When accessing /weblog/.... url, object_detail in date_based.py throws exception: {{{ File "/Users/nesh/devel/workspace/django_src/django/views/generic/date_based.py", line 200, in object_detail if date >= now: TypeError: can't compare datetime.datetime to datetime.date }}} Solution: (diff) {{{ diff -u -r1.1 date_based.py --- date_based.py 21 Jul 2005 12:24:11 -0000 1.1 +++ date_based.py 21 Jul 2005 12:40:45 -0000 @@ -188,7 +188,7 @@ the object to be detailed """ try: - date = datetime.date(*time.strptime(year+month+day, '%Y%b%d')[:3]) + date = datetime.datetime(*time.strptime(year+month+day, '%Y%b%d')[:3]) except ValueError: raise Http404 mod = get_module(app_label, module_name) }}} jacob nesh@studioquattro.co.yu   0 0 0 0 0 0
138 2005-07-21 14:57:54 2007-07-03 23:04:26 2019-06-24 00:16:44.389563 Accepted closed Documentation defect normal   fixed Error naming the "docs" directory in README Inside README each occurrence of doc/ should be replaced with docs/. adrian paolo   0 0 0 0 0 0
143 2005-07-21 19:42:36 2007-07-03 23:04:38 2019-06-24 00:16:47.565693 Accepted closed Core (Other) defect normal   fixed Problem running the command line examples in Tut 1 when using --settings option In tutorial 1, under "Playing with the API", none of the examples will work if you've been using the --settings option with django-admin.py (the DJANGO_SETTINGS_MODULE env variable was never set). To work, you have to do the following before importing the project objects: {{{ >>> import os >>> os.environ['DJANGO_SETTINGS_MODULE']='myproject.settings.main' >>> from django.models.polls import polls, choices }}} Is there a more user friendly way to do this? Maybe add a global variable to django.conf that is used to do the import? {{{ >>> django.conf.DJANGO_SETTINGS_MODULE='myproject.settings.main' }}} or possibly {{{ >>> django.settings_module='myproject.settings.main' }}} adrian sdelatorre@gmail.com   0 0 0 0 0 0
144 2005-07-21 23:29:46 2007-07-03 23:04:25 2019-06-24 00:16:48.176067 Accepted closed contrib.admin defect normal   duplicate Some admin media files are not viewable When viewing the Polls site in tutorial 2 under "Click the 'What's up?' poll to edit it:" paragraph, I noticed that a few of the icons were missing (the save button, the checkbox icon when saving an item, the right side of the history button, etc.). The CSS and JS seem to load correctly, and the icons you have sourced at http://media.ljworld.com/ also load correctly. The problem lies with the CSS file which doesn't correctly go to http://media.ljworld.com/. Just to test, I changed the url to the tool-right.gif file in the css to http://media.ljworld.com/img/admin/tool-right.gif and it worked. adrian sdelatorre@gmail.com   0 0 0 0 0 0
146 2005-07-22 03:37:46 2007-07-03 23:04:40 2019-06-24 00:16:49.396912 Accepted closed Database layer (models, ORM) defect normal   fixed Change order_by and ordering parameters to be less verbose Instead of the following: {{{ ordering = (('pub_date', 'ASC'), ('name', 'DESC'), (None, 'RANDOM')) }}} ...we should use the following: {{{ ordering = ('pub_date', '-name', '?') }}} See http://groups-beta.google.com/group/django-developers/browse_thread/thread/f4945bd967defde1/f5f3cb3312f77fe5 adrian adrian   0 0 0 0 0 0
150 2005-07-22 09:55:38 2007-07-17 21:52:51 2019-06-24 00:16:51.902939 Accepted closed Core (Other) defect minor   fixed Should put a notice to set an *absolute path', in the DATABASE_NAME variable if using sqlite3 If you don't put an absolute path in the DATABASE_NAME variable in the settings/main.py file, Django works but erratically, as it will not always find the database as it's dependent on its running location. There should be warning on *always* setting an absolute path there! adrian lstep@adelux.fr   0 0 0 0 0 0
153 2005-07-22 13:06:28 2007-07-03 23:04:14 2019-06-24 00:16:53.763612 Accepted closed Documentation defect normal   fixed Change docs to use new ordering syntax See #146 and [292]. jacob adrian   0 0 0 0 0 0
154 2005-07-22 13:10:15 2012-11-27 08:55:38 2019-06-24 00:16:54.409876 Accepted closed contrib.admin defect normal   fixed Can't delete object with ManytoMany Relationship If you have an object with a manytomany relationship you can't delete it within the admin interface. As it spits out this error. {{{ Traceback (most recent call last): File "/home/punteney/dobbes.com/django/core/handlers/modpython.py", line 214, in get_response return callback(request, **param_dict) File "/home/punteney/dobbes.com/django/views/admin/main.py", line 1057, in delete_stage obj.delete() File "/home/punteney/dobbes.com/django/core/meta.py", line 57, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/home/punteney/dobbes.com/django/core/meta.py", line 760, in method_delete cursor.execute("DELETE FROM %s WHERE %s=%%s" % (opts.db_table, opts.pk.name), [getattr(self, opts.pk.name)]) File "/home/punteney/dobbes.com/django/core/db/base.py", line 10, in execute result = self.cursor.execute(sql, params) IntegrityError: ERROR: update or delete on "blog_entries" violates foreign key constraint "$1" on "blog_entries_categories" DETAIL: Key (id)=(2) is still referenced from table "blog_entries_categories". DELETE FROM blog_entries WHERE id=2 }}} This is from trying to delete a blog entry that is tied to the categories. The line in the Entry model is: {{{ meta.ManyToManyField(Category, filter_interface=meta.HORIZONTAL), }}} I can't remove the category linking before I delete it as it is a required field so it comes back with an error message saying that the field is required. adrian Dobbes   0 0 0 0 0 0
157 2005-07-22 14:01:21 2007-07-03 23:04:35 2019-06-24 00:16:56.358870 Accepted closed contrib.admin defect normal   fixed view/admin/main.py change_list assumes orderlist is tuple In the function change_list in views/admin/main.py, an assumption is made that the "ordering" variable will be a tuple. The orderlist can be a single string, according to the behaviour built in meta.handle_legacy_orderlist. As a result of this, the code around line 106 seems incorrect, as it assumes an indexable array. Since a string actually is an indexable array, no error is thrown immediately. The following patch restores my admin pages to working order, but it may not be the best way to handle this. {{{ Index: django/views/admin/main.py =================================================================== --- django/views/admin/main.py (revision 293) +++ django/views/admin/main.py (working copy) @@ -98,6 +98,9 @@ # Normalize it to new-style ordering. ordering = meta.handle_legacy_orderlist(ordering) + if isinstance(ordering, basestring): + # tupelize it + ordering = (ordering,) if ordering[0].startswith('-'): order_field, order_type = ordering[0][1:], 'DESC' }}} adrian mfenniak@pobox.com   0 0 0 0 0 0
168 2005-07-23 02:57:40 2007-07-03 23:04:31 2019-06-24 00:17:03.530214 Accepted closed contrib.admin defect major   fixed history() in django/views/admin/main.py makes assumptions about the object's key name Normally the ID of an object is "id", except in cases like mine where I'd redefined the key to be something like list: {{{ "meta.AutoField('item_id','Item ID',primary_key=True,unique=True)," }}} When pulling up the history of a record in the administrative interface, the function history() in django/views/admin/main.py is called and an assumption is made on line 1080: {{{ "obj = mod.get_object(id__exact=object_id)" }}} In my case, I believe that it should be (it cannot be hardcoded like this, obviously this needs to be dynamic): {{{ "obj = mod.get_object(item_id__exact=object_id)" }}} Here's the exact text of the traceback I get: {{{ There's been an error: Traceback (most recent call last): File "/usr/local/lib/python2.4/site-packages/django/core/handlers/wsgi.py", line 190, in get_response return callback(request, **param_dict) File "/usr/local/lib/python2.4/site-packages/django/views/admin/main.py", line 1080, in history obj = mod.get_object(id__exact=object_id) File "/usr/local/lib/python2.4/site-packages/django/core/meta.py", line 87, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/usr/local/lib/python2.4/site-packages/django/core/meta.py", line 1035, in function_get_object obj_list = function_get_list(opts, klass, **kwargs) File "/usr/local/lib/python2.4/site-packages/django/core/meta.py", line 1057, in function_get_list select, sql, params = function_get_sql_clause(opts, **kwargs) File "/usr/local/lib/python2.4/site-packages/django/core/meta.py", line 1235, in function_get_sql_clause tables2, join_where2, where2, params2, _ = _parse_lookup(kwargs.items(), opts) File "/usr/local/lib/python2.4/site-packages/django/core/meta.py", line 1224, in _parse_lookup _throw_bad_kwarg_error(kwarg) File "/usr/local/lib/python2.4/site-packages/django/core/meta.py", line 1126, in _throw_bad_kwarg_error raise TypeError, "got unexpected keyword argument '%s'" % kwarg … adrian clintecker@gmail.com history 0 0 0 0 0 0
183 2005-07-25 00:36:48 2007-07-03 23:04:46 2019-06-24 00:17:12.962963 Accepted closed Template system defect normal   fixed TypeError: can't compare datetime.datetime to datetime.date Error: {{{ There's been an error: Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line 63, in get_response return callback(request, **param_dict) File "/usr/lib/python2.4/site-packages/django/views/generic/date_based.py", line 108, in archive_month if date >= now: TypeError: can't compare datetime.datetime to datetime.date }}} adrian espen@grindhaug.org   0 0 0 0 0 0
186 2005-07-25 01:24:26 2007-07-03 23:04:43 2019-06-24 00:17:14.874160 Accepted closed Metasystem enhancement normal   fixed [patch] Refactor django/core/meta.py to eliminate duplicate code The {{{function_get_list}}} and {{{function_get_iterator}}} functions in {{{django/core/meta.py}}} are identical except for their return type. I propose refactoring them by making {{{function_get_list}}} into a simple wrapper around {{{function_get_iterator}}}. adrian rmunn@pobox.com   0 1 0 0 0 0
204 2005-07-26 08:57:17 2007-07-03 23:04:23 2019-06-24 00:17:26.255082 Accepted closed Tools defect normal   fixed Inconsistent treatment of blank passwords for superusers django-admin.py allows one to create a superuser with a blank password, but that password can't then be changed (eg to something non-blank) using the admin interface, because /admin/password_change/ demands that "Old password" be non-blank. Suggested action: fix django-admin.py so blank superuser passwords aren't allowed. adrian django@gimbo.org.uk password blank superuser createsuperuser django-admin.py 0 0 0 0 0 0
215 2005-07-27 20:26:28 2007-07-03 23:04:58 2019-06-24 00:17:33.309691 Accepted closed Database layer (models, ORM) defect normal 1.1 wontfix Need to generate postgresql tables WITHOUT OIDS by default When generating tables in Postgresql, django doesn't specify WITHOUT OIDS, which in Postgresql 7.4 or older (don't know about 8) results in tables that consumes the installation-wide OIDS. Most of the time this is unnecessary and undesirable. It would be good if the user is given a choice to specify WITH OIDS if they really know what they are doing. adrian wgunadi@nextcoder.net OIDS 0 0 0 0 0 0
219 2005-07-28 10:54:59 2007-07-03 23:05:04 2019-06-24 00:17:35.859315 Accepted closed contrib.admin defect major   fixed The change history for an object is recording changes with a 6-hour offset to the timestamp From the tutorial: '''/admin/polls/polls/1/history/''' is recording changes made to the object, but the timestamp for the changes is 6 hours out (reading 5:12 AM rather than 11:12 AM). adrian fidothe   0 0 0 0 0 0
223 2005-07-29 10:14:47 2007-07-03 23:05:03 2019-06-24 00:17:38.392486 Accepted closed contrib.admin defect trivial   fixed [PATCH] Breadcrumb navigation broken in admin documentation The breadcrumb navigation in the admin documentation templates uses absolute references, rather than relative ones. This means that it won't work if you have your admin server running from anything other than the "root" directory. Example: My admin server is running at http://example.com:8000/admin/ But the code for the breadcrumb looks like this: {{{ <div class="breadcrumbs"> <a href="/">Home</a> &rsaquo; <a href="/doc/">Documentation</a> &rsaquo; <a href="/doc/models/">Models</a> &rsaquo; {{ name }} </div> }}} Which means that the link for documentation (e.g.) will go to http://example.com:8000/doc/, instead of http://example.com:8000/admin/doc. The links need to be changed to use the relative style links of the other page templates. e.g., {{{ <div class="breadcrumbs"> <a href="../../../">Home</a> &rsaquo; <a href="../../">Documentation</a> &rsaquo; <a href="../">Models</a> &rsaquo; {{ name }} </div> }}} The affected files are in django/conf/admin_templates/doc adrian Drew Amato <drewamato@gmail.com>   0 0 0 0 0 0
228 2005-07-29 21:27:45 2007-07-03 23:04:56 2019-06-24 00:17:41.552068 Accepted closed Database layer (models, ORM) enhancement normal   fixed [patch] Better handling of timezones The timezone-handling in [346] is still too naive: according to http://www.cl.cam.ac.uk/~mgk25/iso-time.html, timezones can be specified in any of the following forms: +hh +hhmm +hh:mm -hh -hhmm -hh:mm I propose the following patch, which can deal with any of these forms. It also saves the timezone data; although we don't currently use it for anything, this patch will make a good jumping-off point in the future if we decide to use it. {{{ Index: django/core/db/typecasts.py =================================================================== --- django/core/db/typecasts.py (revision 346) +++ django/core/db/typecasts.py (working copy) @@ -21,8 +21,16 @@ # "2005-07-29 09:56:00-05" if not s: return None d, t = s.split() - if t[-3] in ('-', '+'): - t = t[:-3] # Remove the time-zone information, if it exists. + # Extract timezone information, if it exists. Currently we just throw + # it away, but in the future we may make use of it. + if '-' in t: + t, tz = t.split('-', 1) + tz = '-' + tz + elif '+' in t: + t, tz = t.split('+', 1) + tz = '+' + tz + else: + tz = '' dates = d.split('-') times = t.split(':') seconds = times[2] }}} adrian rmunn@pobox.com   0 1 0 0 0 0
232 2005-07-30 11:28:38 2007-07-03 23:05:43 2019-06-24 00:17:44.130111 Accepted closed Documentation defect critical   duplicate session example. have django session support??? if yes then why don't have a session example??? if don't have a sesion support (in "user space") then add that criticaly. kd. ps. sorry for my en_US :) i'm not from en_US-country :) jacob kd. sesion,example 0 0 0 0 0 0
245 2005-08-01 19:54:48 2008-04-27 02:50:16 2019-06-24 00:17:52.326120 Accepted closed Metasystem defect trivial   fixed Remove old ordering syntax For the 1.0 release, we should remove the {{{DeprecationWarning}}} for use of old ordering syntax. This means old ordering syntax will no longer be supported. nobody adrian 1.0 deprecated, qs-rf-fixed 0 1 0 0 0 0
247 2005-08-02 14:19:20 2007-07-03 23:04:54 2019-06-24 00:17:53.560312 Accepted closed *.djangoproject.com enhancement normal   wontfix Webpage to list web hosts It would be useful to have a webpage (preferably Wiki) where web hosts supporting Django can be listed and found. The following is a suggested layout (with supported installation methods in italics) ---- [http://example.com/ Example Host] - Some description about the provider, this can be a paragraph of text so that they can express all the information they wish to. ''mod_python, fcgi'' [http://example.com Lame Host] - Some support for some applications and other stuff that is stuff and that stuff is stuff too. ''cgi'' [http://example.com Boring.net] - Support for nothing but everything and everything that is nothing, except when it isn't. ''mod_snake'' jacob Eric Windisch   0 0 0 0 0 0
251 2005-08-02 19:41:21 2007-07-03 23:04:38 2019-06-24 00:17:56.009116 Accepted closed Metasystem enhancement normal   fixed [patch] Add "AND" and "OR" clauses to the SQL query syntax After discussion on IRC about the undocumented _or syntax, which Adrian didn't like (see http://loglibrary.com/show_page/view/179?Multiplier=3600&Interval=6&StartTime=1122875881 and http://loglibrary.com/show_page/view/179?Multiplier=3600&Interval=6&StartTime=1122989955), a few ideas were tossed around. We ended up settling on having two "magic" functions, tentatively to live in the meta package and be named meta.AND and meta.OR, which will be called as follows: {{{ polls.get_list(pub_date__exact=datetime.now(), clause=meta.OR(question__startswith='a', question__startswith='b')) # Yields "SELECT * FROM polls WHERE pub_date=NOW AND ((question LIKE 'a%') OR (question LIKE 'b%'))" }}} The functions can also be nested: {{{ table.get_list(clause=meta.OR(field1__exact=10, clause=meta.AND(field1__gte=20, field1__lte=29))) # Yields "SELECT * FROM table WHERE field1=10 OR ((field1 >= 20) AND (field1 <= 29))" }}} They can also be invoked multiple times in the same get_list() call. Since you can't repeat exactly the same kwarg twice, anything starting with "clause" will be accepted, thus: {{{ table.get_list(field1__exact=5, clause1=meta.OR(field2__startswith='a', field2__startswith='b'), clause2=meta.OR(field3__startswith='a', field3__startswith='b')) # Yields "SELECT * FROM table WHERE field1=5 AND ((field2 LIKE 'a%') OR (field2 LIKE 'b%')) AND ((field3 LIKE 'a%') OR (field3 LIKE 'b%'))" }}} To avoid any possible conflict with a field name starting with "clause", what follows the word "clause" must be composed of nothing but digits. That way something like "{{{clause__exact='foo'}}}" would still be treated as a search clause, but "{{{clause1=meta.OR(...)}}}" would be treated as an OR. I'll write a patch to implement this idea. hugo rmunn@pobox.com   0 1 0 0 0 0
259 2005-08-03 21:17:02 2007-07-03 23:05:14 2019-06-24 00:18:01.057320 Accepted closed contrib.admin defect major   invalid Admin errors with edit_inline and foreign keys. The following model breaks the admin interface: {{{ #!python from django.core import meta # Create your models here. class Parent(meta.Model): fields = ( meta.CharField('title', maxlength=50), ) admin = meta.Admin() def __repr__(self): return self.title class Child(meta.Model): fields = ( meta.CharField('title', maxlength=50), ) admin = meta.Admin() def __repr__(self): return self.title class Relate(meta.Model): fields = ( meta.ForeignKey(Parent, edit_inline=True, edit_inline_type=meta.TABULAR), meta.ForeignKey(Child), ) def __repr__(self): return self.get_parent().title + " -> " + self.get_child().title }}} If there are no records in the 'relate' table, there appears to be no way to add them. If there are, then pressing 'save' in the parent admin view when one of the records shows a line of hyphens results in an error. adrian andrew@aylett.co.uk ManyToMany edit_inline 0 0 0 0 0 0
265 2005-08-04 11:24:01 2007-11-13 16:35:45 2019-06-24 00:18:04.833667 Accepted closed Core (Other) defect normal   wontfix Patch: RequiredIfOtherField and friends don't work with edit_inline They look at the all_data hash and that contains all lines of the inline editing table and so they don't find the other field. Maybe this could be changed in that validators on fields that are part of an edit_inline only get passed in a dictionary of those keys that relate to their row, with bare fieldnames (without the table.rownumber prefix)? That way those combined validators could work with inline tables, too. Otherwise any validator that uses all_data to look at other fields will break. nobody hugo <gb@bofh.ms>   0 1 0 1 0 0
273 2005-08-04 18:51:31 2007-07-03 23:05:34 2019-06-24 00:18:09.893130 Accepted closed Core (Other) enhancement normal   fixed [patch] Password salt and other algorithms support The auth_users database table uses a field called password_md5 to hold passwords. However, if found, MD5 hashes can be broken pretty quickly with Rainbow Tables. Could you please consider using SHA-512 encryption instead, perhaps with a varchar(128) field called "password_sha512"? All the best, Dave Hodder adrian dmh@dmh.org.uk   0 1 0 0 0 0
278 2005-08-05 09:44:56 2007-07-03 23:04:53 2019-06-24 00:18:13.078638 Accepted closed Database layer (models, ORM) defect normal 1.0 fixed Problems saving objects with non-id primary key fields and SQLite database There are several problems using models which have a non-id primary_key field, when using a SQLite backend. Can't test this with other databases, unfortunately. If we have a python file like: {{{ from django.core import meta class D(meta.Model): fields = ( meta.CharField('b', maxlength=8, primary_key=True), meta.CharField('c', maxlength=8), ) class B(meta.Model): fields = ( meta.CharField('b', maxlength=8), meta.CharField('c', maxlength=8), ) }}} then we get this problem: saving objects doesn't appear to add them to the database: {{{ Python 2.4.1 (#2, Mar 31 2005, 00:05:10) [GCC 3.3 20030304 (Apple Computer, Inc. build 1666)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from django.models.petrolprices import ds, bs >>> d = ds.D(b="a", c="a") >>> b = bs.B(b="a", c="a") >>> ds.get_list() [] >>> bs.get_list() [] >>> d.save() >>> b.save() >>> ds.get_list() [] >>> bs.get_list() [<B object>] }}} If, however, we have the python file containing this: {{{ class D(meta.Model): fields = ( meta.CharField('b', maxlength=8, primary_key=True), ) class B(meta.Model): fields = ( meta.CharField('b', maxlength=45), ) }}} Then attempting to save D objects gets a stack trace: {{{ >>> from django.models.petrolprices import ds, bs >>> d = ds.D(b='a') >>> b = bs.B(b='a') >>> ds.get_list() [] >>> bs.get_list() [] >>> b.save() >>> bs.get_list() [<B object>] >>> d.save() Traceback (most recent call last): File "<stdin>", line 1, in ? File "/Users/huw/Source/Django/django/utils/functional.py", line 3, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/Users/huw/Source/Django/django/core/meta/__init__.py", line 740, in method_save opts.pk.name), db_values + [getattr(self, opts.pk.name)]) File "/Users/huw/Source/Django/django/core/db/base.py", line 10, in execute result = self.curso… adrian huw@robotines.co.nz   0 0 0 0 0 0
285 2005-08-06 19:22:14 2011-09-28 16:12:16 2019-06-24 00:18:17.945239 Accepted closed HTTP handling defect normal 1.0-beta worksforme WSGIRequest should set request.path to full uri path Following the instructions at http://wiki.dreamhost.com/index.php/Django, I got Django running under FastCGI. But the login form points to the wrong URL: instead of pointing to http://django.example.com/django-admin.fcgi/admin/, it points to http://django.example.com/admin/. The reason is found in {{{django/core/handlers/wsgi.py}}}, where the {{{WSGIRequest}}} class's {{{__init__()}}} sets {{{self.path}}} equal to {{{environ['PATH_INFO']}}}. The {{{request.path}}} value eventually makes its way to the login template, which uses "{{{app_path}}}" as the form submission URL. In a CGI environment (including FastCGI), {{{PATH_INFO}}} contains the path referenced *after* the script name (here, "{{{/admin/}}}"). {{{SCRIPT_NAME}}} contains the path to the script (here, "{{{/django-admin.fcgi}}}". To construct a proper self-referential URL, you need to concatenate {{{SCRIPT_NAME}}} and {{{PATH_INFO}}} to obtain, in this case, "{{{/django-admin.fcgi/admin/}}}". mtredinnick rmunn@pobox.com   0 1 0 0 0 0
289 2005-08-08 16:21:46 2011-07-08 04:19:57 2019-06-24 00:18:20.770044 Accepted closed contrib.admin defect normal   wontfix [patch] more details with "Please correct the errors below." Sometimes this error appears in the admin side of a site, without actually showing any errors below it. This is most assuredly an error on the part of the developer, but with the multitude of things that can go wrong, this obfuscated error reporting surely doesn't help. nobody brantley (deadwisdom@gmail.com) error please correct 0 1 1 0 0 0
317 2005-08-14 08:01:21 2007-02-26 11:42:12 2019-06-24 00:18:38.972877 Accepted closed Generic views defect normal 0.95 fixed [Patch] slugify delimits words by hyphens, but its validator doesn't like them ''. words separated by underscores ("_") or hyphens ("-") in URLs. Google will treat "keyword-phrase" as "keyword phrase" and "keyword_phrase" as "keywordphrase.'' - google handles _ and - differently, where the - form usually is what the user needs. So the slugify code should just handle multi-word sentences by delimiting the slugified words by hyphens. jacob hugo <gb@bofh.ms> slugs slug slugify validation 0 1 0 0 0 0
326 2005-08-15 15:42:40 2011-11-17 16:06:56 2019-06-24 00:18:44.685295 Accepted closed Database layer (models, ORM) enhancement normal 1.0 wontfix IPAddressField in decimal format == An IP address is stored in string format and allocating 15 bytes (120 bits) == But it would be possible convert that address to decimal format and store it in less bits. {{{ >>> import socket, struct >>> ip = "192.168.2.1" >>> q = ip.split(".") >>> n = reduce(lambda a,b: long(a)*256 + long(b), q) >>> n 3232236033L >>> socket.inet_ntoa(struct.pack('!I', n)) '192.168.2.1' }}} [http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/d4d9d1870a481568/] [http://groups-beta.google.com/group/comp.lang.python/browse_thread/thread/b2e259d7d55a6071/] adrian Bless   0 0 0 0 0 0
335 2005-08-16 22:23:07 2007-07-03 23:05:46 2019-06-24 00:18:50.423636 Accepted closed contrib.admin defect normal   fixed Admin login form should check for cookies The admin login form should display a helpful error message if cookies aren't enabled in the user's browser. adrian adrian   0 0 0 0 0 0
342 2005-08-17 10:19:26 2011-09-28 16:12:23 2019-06-24 00:18:54.749009 Accepted closed contrib.admin enhancement normal newforms-admin fixed Add a way for fields to be displayed in the admin without being editable When editable=False option is used then that field isn't showed in the form. But it should be an option for show a field without can to editing it. brosner Bless djangocon 0 1 1 1 0 0
345 2005-08-17 15:38:48 2007-07-03 23:05:46 2019-06-24 00:18:56.937237 Accepted closed Core (Other) enhancement normal   duplicate Set http Content-type header from settings.py It would be nice if you could set the default content-type for http-served pages in a settings module somewhere. I'll try to write a patch. adrian tim@gerla.net   0 0 0 0 0 0
348 2005-08-17 20:27:49 2007-08-25 23:33:58 2019-06-24 00:18:58.836379 Accepted closed contrib.admin defect normal   fixed [patch] Multiple clicks on "Choose all" or "Clear all" in the Javascript "filter" interface causes strange behavior I'm writing a simple contact-tracking application in Django. I have Person, Address, and Newsletter models. Newsletter is a many-to-many relation to Person, so that I can ask "Who got the June 2005 newsletter?" and "How many newsletters has John Smith missed?". I used the {{{filter_interface}}} option to tie Newsletter to Person in the admin interface. I then set up some test data to play around with the {{{filter_interface}}}, including three Persons: John Smith, Linda Jones, and Sophie Sophist (who lives at 123 Philosopher Lane, naturally). Selecting individual people and clicking the left and right arrows moved names around just fine. No problems there. And single-clicking on the "Clear all" and "Choose all" worked as expected. Double-clicking on either "Clear all" or "Choose all", though, produced some weird results: all the names would move across, but then when moved back, a single name would get left behind. E.g.: * "Available persons" contains all three names. * Click on "Choose all". All three names move to "Chosen persons". * Click on "Choose all" a second time. No visible result. * Click on "Clear all". All three names move to "Available persons", but a second copy of Linda Jones is left behind. * Click on "Choose all". All three names from "Available persons" move over to "Chosen persons", and there are now four names (including two Linda Jones entries) in "Chosen persons". Repeating such a procedure ends up yielding five names, then six, then seven, out of the original three. All of them act like real entries: I can select them one at a time and move them left or right, and they don't disappear. Furthermore, if I click three or four or five times on "Choose all" before clicking on "Clear all", then two or three or four names get left behind when I finally do click "Clear all". This also works in reverse, e.g. if I click "Clear all" multiple times and then click "Choose all", it will also leave some names behind. If I leave one side or the other ("Chosen persons" or "Availab… adrian rmunn@pobox.com   0 1 1 0 0 0
351 2005-08-18 06:03:28 2007-07-03 23:05:55 2019-06-24 00:19:00.694599 Accepted closed Generic views defect normal   fixed Make list_detail.object_list respect allow_empty when paginating The generic view '''django.views.generic.list_detail.object_list''' does not respect the keyword boolean argument '''allow_empty''' when paginating is enabled, instead raising Http404 if list is empty. jacob kmh generic view 0 0 0 0 0 0
359 2005-08-18 12:22:22 2007-07-03 23:05:44 2019-06-24 00:19:05.843335 Accepted closed contrib.admin defect normal   duplicate Simplified assignment and lookup for related fields Further to #122, I'd love to see a simpler syntax for direct assignment and reference of objects in related tables. It'd eliminate the last big separation (in my mind, at least) between how people work with normal Python objects and how they need to work Django database-backed objects. All you'd have left is {{{.save()}}}, which I'm all for keeping. {{{ from django.core import meta class Person(meta.Model): name = meta.CharField(maxlength=200) class CourtCase(meta.Model): plaintiff = meta.ForeignKey(Person) defendant = meta.ForeignKey(Person) me = persons.get_object(name__exact="garthk") you = persons.get_object(name__exact="hugo-") case = courtcases.CourtCase() case.defendant = me case.plaintiff = you case.save() print case.defendant.name }}} We'd also want to retain support for {{case.defendant_id = me.id}} for those who tend to think more in terms of the database structures than the Python structures. I'm definitely in the latter category, but I know plenty of people in the former. adrian garthk@gmail.com   0 0 0 0 0 0
362 2005-08-18 15:07:12 2007-07-03 23:05:50 2019-06-24 00:19:07.699274 Accepted closed Core (Other) defect normal   fixed Anonymous sessions should try to prevent session-stealing If a user can sniff (or guess) a session id, they can take over a user's session. The simpler types of attempts to steal sessions can be prevented by gathering as much information as possible about the client when creating a session, and then verifying that that information hasn't changed on subsequent requests. If it has, it should log a warning and log the user out. A hash of REMOTE_ADDR and, if it exists, PROXY_FORWARDED_FOR is commonly used to prevent replay attacks like this. This is easy enough to implement in the application, but it should probably be built into the framework. A way of providing page tokens/nonces would also be useful, and this could be used to avoid sending session tokens to the client entirely. Though this technically an RFE, I'm submitting it as severity normal, because the easiest way to do sessions should be secure by default. adrian jmcbray-django@carcosa.net sessions, security, authentication 0 0 0 0 0 0
373 2005-08-19 18:15:29 2019-03-08 06:13:25 2019-06-24 00:19:14.700693 Accepted new Database layer (models, ORM) New feature Normal master   Add support for multiple-column primary keys In the interest of being able to use Django as an admin interface for ''any'' db schema, it really should support multiple column primary keys. Currently, you can "fake" it by declaring one of the keys to be primary in Django and adding a unique constraint to the model. You'd have to do without the auto-generated SQL that Django gives you, but if you're smart enough to know how and why to use multiple primary keys, you can probably write the schema by hand. Still, this is less than ideal. This is likely to be very difficult.   jacob database 0 0 0 0 0 0
376 2005-08-20 15:29:27 2008-09-06 10:27:28 2019-06-24 00:19:16.638296 Accepted closed Core (Other) enhancement normal master wontfix Add a handler for mod_python v. 2 (Django requires v. 3) I've adapted the mod_python handler to also work on mod_python 2. The differences with the mod_python 3 are fairly small, but it's still somewhat incompatible. In addition, I think you need an index.py file to make it work with the '/' URL given to a basic address. Here's the config I'm using, I'll attach modpython2.py. {{{ <Location /> SetHandler python-program AddHandler python-program .py DirectoryIndex index.py PythonHandler django.core.handlers.modpython2 PythonPath "['/home/dirkjan/dev'] + sys.path" PythonInterpreter weblog.main PythonDebug On SetEnv DJANGO_SETTINGS_MODULE weblog.settings.main </Location> }}} nobody Manuzhai   0 1 1 1 0 0
391 2005-08-22 01:44:46 2007-09-16 05:00:21 2019-06-24 00:19:26.375963 Accepted closed Generic views defect normal   fixed date_based generic views might be off by one I created an item today, and now am trying to view it with date_based.object_detail. Unfortunately, the condition condition "date must be <= today" isn't working right. {{{ blog.notes does not exist for {'title__exact': 'test-title', 'created__lte': datetime.datetime(2005, 8, 21, 18, 34, 26, 74000), 'created__range': (datetime.datetime(2005, 8, 21, 0, 0), datetime.datetime(2005, 8, 21, 23, 59, 59, 999999))} }}} Turns out it's some sort of off-by-one bug in the __lte handler. If the <= comparison compares against tomorrow, it works fine, e.g. with {{{ Index: django/views/generic/date_based.py =================================================================== --- django/views/generic/date_based.py (revision 544) +++ django/views/generic/date_based.py (working copy) @@ -221,6 +221,8 @@ '%s__range' % date_field: (datetime.datetime.combine(date, datetime.time.min), datetime.datetime.combine(date, datetime.time.max)), } # Only bother to check current date if the date isn't in the past. + from datetime import timedelta + now += timedelta(days = 1) if date >= now.date(): lookup_kwargs['%s__lte' % date_field] = now if object_id: }}} I'm on SQLite, windows, python 2.4, svn [544]. Maybe it's a sqlite date comparison bug or something. nobody Brendan O'Connor <brenocon@gmail.com> sprintsept14 0 1 0 0 0 0
399 2005-08-22 21:49:01 2011-09-28 16:12:23 2019-06-24 00:19:31.534040 Accepted closed Database layer (models, ORM) enhancement normal master fixed Bigint field object needed The existing IntegerField is not adequate for generating schemas that require a "bigint" field. Either IntegerField needs to take a size/length parameter or a new Field type is necessary. permon jmadson@techie.com sprintsept14, bigint 0 1 0 0 0 0
425 2005-08-26 17:13:10 2007-07-03 23:06:34 2019-06-24 00:19:48.499603 Accepted closed Tools enhancement normal   wontfix django.utils.images should have a thumbnail function i just taught that django.utils.images should have a function that could create a thumbnail. adrian espen@grindhaug.org   0 0 0 0 0 0
470 2005-09-07 13:45:25 2019-01-15 20:46:04 2019-06-24 00:20:16.946582 Accepted new Database layer (models, ORM) New feature normal     Add Field.db_default for defining database defaults Apply this diff to django/core/mamagement.py Should work on any database. 75a76,77 > if f.default <> meta.fields.NOT_PROVIDED: > field_output.append("DEFAULT '%s'" % (f.default,)) nobody jws sql schema 0 0 0 0 0 0
482 2005-09-10 01:50:17 2007-03-02 07:32:08 2019-06-24 00:20:24.659589 Accepted closed Core (Cache system) defect normal   invalid ForeignKey inline editing drops records in the Admin application I am using the {{{ForeignKey}}} with inline editing. 1. I have opened the admin editor tp modify an existing parent record 1. I have added an entry to child record 1. Saved 1. Go to edit the parent record 1. I now have 2 places to enter the data. The first one is populated with previous data. The second one is empty. 1. I click save 1. I get the exception as displayed below 1. If I go back and refresh the parent record view - it does not contain any child entries anymore. {{{ class Lankymas(meta.Model): nuo = meta.DateField(blank=True) iki = meta.DateField(blank=True, null=True) moksleivis = meta.ForeignKey(Moksleivis, edit_inline=meta.STACKED, num_in_admin=1) class META: module_name='lankymai' def __repr__(self): return "Nuo %s iki %s" % (self.nuo, self.iki) }}} {{{ There's been an error: Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/django/core/handlers/base.py", line 64, in get_response response = callback(request, **param_dict) File "/usr/lib/python2.3/site-packages/django/views/admin/main.py", line 878, in change_stage new_object = manipulator.save(new_data) File "/usr/lib/python2.3/site-packages/django/utils/functional.py", line 3, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/usr/lib/python2.3/site-packages/django/core/meta/__init__.py", line 1549, in manipulator_save new_rel_obj.save() File "/usr/lib/python2.3/site-packages/django/utils/functional.py", line 3, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/usr/lib/python2.3/site-packages/django/core/meta/__init__.py", line 801, in method_save ','.join(field_names), ','.join(placeholders)), db_values) File "/usr/lib/python2.3/site-packages/django/core/db/base.py", line 10, in execute result = self.cursor.execute(sql, params) File "/usr/lib/pytho… adrian brovienas@yahoo.com   0 0 0 0 0 0
494 2005-09-12 19:00:50 2016-01-11 19:15:03 2019-06-24 00:20:32.213690 Accepted closed contrib.admin New feature Normal master fixed Collapse in admin interface for inline related objects It would be nice if there is a property to tell the admin interface to collapse the related object. eg: organisatie = meta.ForeignKey(Organisatie, edit_inline=meta.STACKED, edit_inline_style='collapse') I changed line 610 in the django/views/admin/main.py to t.append('<fieldset class="module%s">\n' % ((rel_field.rel.edit_inline != meta.TABULAR) and ' aligned collapse' or ' collapse')) and it works. But using a property would be better. Thanks Tim Graham <timograham@gmail.com> jcstover@nilling.nl edit_inline, nfa-someday 0 1 0 0 0 1
518 2005-09-15 21:54:15 2007-07-03 23:06:35 2019-06-24 00:20:47.588207 Accepted closed Validators enhancement normal   worksforme Need validators that aren't attached to a form field In implementing CSRF protection (#510) I needed to add a validator to the validation chain that wasn't tied to a specific field within the manipulator. This isn't currently possible. If implemented, it would also make validation rules that depend on more than one field a lot more elegant. In fact, it would let us ditch the requirement to pass all_data to validation functions. I think Ian Bicking's [http://funformkit.sourceforge.net/ FunFormKit] takes this approach. (Personally I'd like to replace Manipulators with a more general purpose idea of Validators - collections of validation rules. At the moment Manipulators are coupled to models, but there are situations where you would want to validate a form that doesn't directly relate to a model. Validation in Rails has exactly the same problem.) adrian Simon Willison   0 0 0 0 0 0
526 2005-09-19 12:12:00 2007-08-31 03:42:09 2019-06-24 00:20:52.724185 Accepted closed Database layer (models, ORM) defect major master duplicate Error when edit_inline model have unique_together constraint Example: {{{ #!python class Locale(meta.Model): """ available languages """ locale = meta.CharField(maxlength=5, unique=True) encoding = meta.CharField(maxlength=50, choices=ENCODINGS, default='utf_8') name = meta.CharField(maxlength=200, unique=True) plural = meta.TextField('plural form', help_text='plural form expression, see: <a href="http://www.gnu.org/software/gettext/manual/html_node/gettext_150.html" target="_blank">gettext</a>', blank=True, null=True) nplurals = meta.PositiveSmallIntegerField('number of plural forms', blank=True, null=True) def __repr__(self): return self.name # def _manipulator_validate_plural(self, field_data, all_data): """ validate plurals """ field_data = field_data.strip() if field_data == '': return '' if all_data['nplurals'].strip() == '': from django.core import validators raise validators.ValidationError('No nplurals is defined!') # try to compile plural expression try: from gettext import c2py c2py(field_data) except ValueError, err: from django.core import validators raise validators.ValidationError('Plural form expression error %s' % err) # _manipulator_validate_plural class META: ordering = ['locale'] admin = meta.Admin( fields = ( (None, { 'fields': ('locale', 'encoding', 'name',),}), ('Plurals', { 'fields': ('nplurals', 'plural'),}), ), list_display = ('name', 'locale', 'encoding'), ) # META # Locale class Message(meta.Model): """ messages """ site = meta.ForeignKey(sites.Site, null=True) package = meta.ForeignKey(packages.Package, null=True) message = meta.CharField(maxlength=255) has_plural = meta.BooleanField(default=False) … adrian nesh <nesh [at] studioquattro [dot] co [dot] yu>   0 0 0 0 0 0
528 2005-09-19 16:29:25 2011-09-28 16:12:16 2019-06-24 00:20:54.038509 Accepted closed Documentation defect trivial master fixed Add a documentation generator that creates a PDF or HTML files locally It would be nice to have doc generation script for making pdf or static html at local computer after each svn update. Harkins anonymous doc-refactor 0 1 0 0 0 0
546 2005-09-23 10:20:36 2007-09-14 16:05:33 2019-06-24 00:21:06.521229 Accepted closed Template system defect normal   fixed [patch] make render_to_string and render_to_response use select_template The attached patch looks for a ";" in the template_name. If there is one, it will split the template_name on ";" and use the resulting list with select_template instead of passing on the template_name to get_template. That way the shortened rendering syntax can be used with template-selection, too. cmcavoy hugo <gb@bofh.ms>   0 1 0 0 0 0
555 2005-09-25 13:23:18 2007-05-22 22:29:47 2019-06-24 00:21:12.491773 Accepted closed Core (Other) defect normal   fixed DateTimeFields with auto_now and auto_now_add don't change in place When saving an instance of a model that includes a DateTimeField with auto_now or auto_now_add, the automatically inserted date will not show up until the instance is reloaded from the db. Model: {{{ class Task(meta.Model): create_date = meta.DateTimeField("Created on", auto_now_add=True) title = meta.CharField(maxlength=200) }}} Behavior: {{{ >>> from django.models.tasks import * >>> t = Task(title="task") >>> print 'presave', t.create_date presave >>> t.save() >>> # Now t has a create_date >>> print 'postsave', t.create_date postsave >>> # But it shows only in the database, not in the instance t. }}} adrian Andreas   0 1 0 0 0 0
556 2005-09-25 18:22:00 2007-07-03 23:06:59 2019-06-24 00:21:13.086748 Accepted closed Metasystem defect normal   fixed Non-integer primary keys don't work when pointed-to by a ManyToManyField The join table automatically created by {{{ManyToManyField}}}s assumes primary keys in the two joined tables are integers. adrian adrian   0 0 0 0 0 0
562 2005-09-26 21:08:56 2007-09-16 11:30:03 2019-06-24 00:21:16.776581 Accepted closed contrib.admin defect normal   wontfix "Add another" JavaScript doesn't add new value to all fields relating to the same type Suppose we have a model containing two fields: {{{ class Foo(meta.Model): field1 = meta.ForeignKey(Bar) field2 = meta.ForeignKey(Bar) ... }}} The admin interface generates "Add another" links next to the dropdowns. If the link next to field1 is clicked, and a new value is added, then the new value only appears in the field1 dropdown and not in the dropdown for field2. This is also seen in "Add another" links next to edit_line fields. nobody Esaj   0 0 0 0 0 0
565 2005-09-27 14:29:02 2008-08-01 15:55:49 2019-06-24 00:21:18.610585 Accepted closed contrib.admin defect normal master fixed Unique fields don't work on edit_inline models There seems to be a bug with validating inline editable items that have unique=true. To reproduce: 1) Modify the tutorial polls app so that the Choice model defines choice as: {{{ choice = meta.CharField(maxlength=200, core=True, unique=True) }}} 2) Create a poll with two choices, click 'save and continue editing' 3) Add a third choice (with unique name) and click 'save' You should see a "Choice with this choice already exists." validation error for the second choice. nobody kyrrigle@gmail.com admin edit inline unique error nfa-fixed 0 0 0 0 0 0
569 2005-09-27 17:50:44 2007-07-03 23:06:49 2019-06-24 00:21:21.085887 Accepted closed contrib.admin defect normal   wontfix [patch] better pluralization for table names I ripped off the inflector.pluralize function from Ruby on Rails and ported it over to python. This gives much better pluralization than the simple rule used by django. The source of the pluralize function can be found [https://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/file/stuff/trunk/inflector.py over here in my subversion tree]. adrian hugo <gb@bofh.ms>   0 1 0 0 0 0
572 2005-09-28 06:41:14 2007-05-22 22:23:18 2019-06-24 00:21:22.979117 Accepted closed contrib.admin defect normal master invalid When i have an ImageField and a auto_now DateTimeField in the same model it doesnt get saved When there is an image field and a auto_now_add date time field in the same table, the date time field is not generated although the image is uploaded, and a postgres error is generated adrian lawgon@thenilgiris.com   0 0 0 0 0 0
575 2005-09-29 03:55:42 2008-08-01 15:18:44 2019-06-24 00:21:24.860377 Accepted closed contrib.admin defect major master fixed edit_inline don't save child data when a "blank=True" field is not set when I try to insert or modify throught the admin interface, child data is not saved when there is a "blank=True" field and it's not set. example: model: {{{ class Person(meta.Model): name = meta.CharField(maxlength=30) lastName = meta.CharField(maxlength=30) class Phone: person = meta.ForeignKey(Person, edit_inline=meta.STACKED, num_in_admin=2) number = meta.CharField(maxlength=30, core=True) description = meta.CharField(maxlength=100, blank=True, core=True) }}} if I set a Phone number and I don't set description, this don't throw any error, but the Phone data is not saved, but this would be saved if I set the description too nobody pylorca nfa-fixed 0 0 0 0 0 0
596 2005-10-06 17:32:50 2012-04-06 05:20:32 2019-06-24 00:21:37.996249 Accepted closed Core (Other) Bug Normal master wontfix Allow Django to be packaged as a Python egg This patch allows Django to be packaged as a [http://peak.telecommunity.com/DevCenter/PythonEggs Python egg file]. This means that you can download the Django source and build an egg file with "python setup.py bdist_egg", and that egg contains all of Django and can be dropped onto sys.path and used like other eggs. In particular, this makes it easier to use Django when you don't want to install it into your Python directory (either with "setup.py install" or with a symlink). This patch incorporates some code from ticket #582. nobody sil@kryogenix.org   0 1 1 0 1 0
607 2005-10-10 22:17:48 2010-05-20 21:33:36 2019-06-24 00:21:44.930897 Accepted closed contrib.admin enhancement normal   wontfix Admin option to show/hide fields '''Concept:''' An admin option that specifies a list of fields to show/hide based on the value of another field. '''Example:''' An "I like cake" checkbox that, when checked, shows two previously hidden text fields "Favorite cake" and "Favorite frosting". '''Code Example:''' {{{ admin.switch = [('likes_cake', {'True': ['favorite_cake', 'favorite_frosting']})] }}} You could also tie this to a particular value of a select field: {{{ admin.switch = [('gender', {'M': ['favorite_sport'], 'F': ['favorite_soap_opera']})] }}} '''Unsolved issues:''' * Need some place to specify the initial state of the targeted fields (visible or hidden). Default (and most common case) would be hidden, but there are cases where this needs to be reversed. * All hiding and should happen in javascript, so fields don't get hidden that can't be turned back on with javascript disabled. The switch option could also tie into the validation framework so unnecessary fields (meant to be hidden) don't get filled in even when javascript is off. * Any other ideas? nobody wilson   0 0 0 0 0 0
632 2005-10-16 10:58:52 2012-01-09 08:13:02 2019-06-24 00:22:00.717211 Accepted closed Template system enhancement minor   wontfix database stored templates In [https://simon.bofh.ms/cgi-bin/trac-django-projects.cgi/browser/cms/trunk/apps/dbtemplate/ my repository] for my new CMS project I have a simple and little app that implements database stored templates. Actually it's just a model and a template loader. This might be something that could go into the django.contrib package. I think it's especially handy if your site is mostly Django admin driven and people should be able to make changes to templates through the web. adrian hugo   0 1 0 0 0 0
639 2005-10-17 21:23:25 2007-02-26 17:17:11 2019-06-24 00:22:05.105867 Accepted closed Core (Other) defect major   fixed Model FileFields empty on first pass through save() For models with file fields ({{{FileField/ImageField etc.}}}) save() is called twice on manipulator form submission - the first time the _pre_save() and _post_save() hooks are called the file fields are empty meaning that you must explicitly check that the field value is not empty string before taking any related action. This behaviour seems confusing and I think it explains this problem: http://groups.google.com/group/django-users/browse_frm/thread/99a9aa63b343d27e?tvc=1&q=filefield+_post_save adrian django@kieranholland.com   0 0 0 0 0 0
689 2005-10-25 01:11:58 2011-09-28 16:12:20 2019-06-24 00:22:36.741293 Accepted closed Core (Other) enhancement normal master fixed Honor Web server provided authentication I would like to see a 2nd mod_python handler. one which takes the REMOTE_USER parameter passed to it and for it to use that as the user-id so that I can hook my app into the default intranet security system we use over here. here is the patch to the original to make that the case. NOTE: it creates a user-record if none exist for the user. {{{ Helios:/src/django_newadmin/django/core/handlers ianh$ diff modpython_apacheauth.py modpython.py 102,103c102 < #user_id = self.session[users.SESSION_KEY] < user_id = self._req.user --- > user_id = self.session[users.SESSION_KEY] 106,117c105,106 < try: < self._user = users.get_object(username__exact=user_id) < except (users.UserDoesNotExist): < from django.models.auth import User < import md5 < import datetime < password_md5 = md5.new('fake').hexdigest() < now = datetime.datetime.now() < self._user = User(None, user_id,'','', user_id+'@cnet.com',password_md5,False,True,False,now,now) < self._user.save() < #except (AttributeError, KeyError, ValueError, users.UserDoesNotExist): < except (AttributeError, KeyError, ValueError): --- > self._user = users.get_object(pk=user_id) > except (AttributeError, KeyError, ValueError, users.UserDoesNotExist): 120d108 < }}} gwilson Ian@holsman.net   0 1 0 0 0 0
690 2005-10-25 01:18:34 2007-07-17 21:56:24 2019-06-24 00:22:37.431865 Accepted closed contrib.admin defect normal   duplicate Model allowed me to 'hide' a required field, which produced unuseable error messages. I had a data model which had a required field 'text'. When I was ordering the fields using the following syntax: admin = meta.Admin( # Add this to order the fields and even group them! fields = ( (None, {'fields': ('title', 'published_date')} ), ("Categories", {'fields': ('categories',)} ), ) ) I forgot to put in the 'text' field. Which meant that when I was adding a new item, it would complain that I should fix the 'error' below, but there was no error listed below, because the text field was never shown. The validate command should catch this maybe? But at the very least, if error messages aren't shown during the display of the form, they should be shown in a final list at the end. Or something. adrian lakin.wecker@gmail.com   0 0 0 0 0 0
702 2005-10-27 16:26:51 2011-12-31 00:43:32 2019-06-24 00:22:45.132116 Accepted closed Documentation New feature Normal master fixed document that ManyToMany fields can't be in unique_together From IRC: * hugo- any way to get a unique_together that works with ManyToMany fields? * adrian_h I don't believe so, at the moment * hugo- yeah. I had it working with some simple validator, until I realized that my validator can't know wether I am creating or updating (and if updating, which one I am updating) :-) * hugo- I _think_ it could be done with the same check you do in manipulators_validator_unique_together in core.meta for ManyToOne * hugo- or at least a very similar one * adrian_h If a model has unique_together = (('slug', 'sites'),), where sites is a manytomany field, would the validator check that the slug is unique per each individual site, or per the specific combination of the sites? * hugo- per each site * hugo- at least that's how you use it in reverse: you use sites.get_current() to get the curent site and then for example check get_current().get_flatfile_object() to find the flatfile for that url for that site * hugo- currently you can add flatfiles for the same site with the same URL and get a nice exception ... * adrian_h Good point * adrian_h This is worth a ticket nobody hugo model-validation 0 1 0 0 0 0
717 2005-11-03 01:01:31 2011-03-01 18:55:40 2019-06-24 00:22:54.698379 Accepted closed HTTP handling defect normal   fixed If-Modified-Since checked for exact match In ConditionalGetMiddleWare Last-Modified date is checked for exact match with If-Modified-Since and only then 'Not Modified' response returned. There should be check if Last-Modified >= If-Modiifed-Since. adrian Maniac <Maniac@SoftwareManiacs.Org> http middleware conditional get if-modified-since 0 1 0 0 0 0
730 2005-11-04 20:44:11 2011-09-28 16:12:16 2019-06-24 00:23:03.056995 Accepted closed Core (Other) enhancement normal   fixed more explicit middlware ordering In a [http://groups.google.com/group/django-developers/browse_frm/thread/2865c3f1e8780bf6/1123d4c87d0aff75#1123d4c87d0aff75 django-developer discussion] the problem of middlware ordering came up. I think a solution might be to have an optional way to give an explicit middleware ordering for the response phase. This could be done in a way so that if the user doesn't give an explicit ordering, the system automatically uses the reversed middleware list - that's the behaviour we have now. But if the users defines a setting for middlewar response order, the system could check that the content is identical in content, but can be different in order. That way people can give explicit order and response handling would be much more explicit and understandable. andrewbadr hugo   0 1 1 1 1 0
758 2005-11-09 05:33:24 2007-07-12 18:02:16 2019-06-24 00:23:20.797324 Accepted closed contrib.admin defect normal   fixed django_admin_log items should be HTML-escaped when shown in admin interface Admin actions are currently added to the `django_admin_log` table with the `object_repr` column set to the object's `__repr__`. When displayed in the "Recent Actions" sidebar in the admin, however, these bits of text are not escaped to be HTML-safe; anything enclosed in `<angle brackets>`, for instance, seems invisible to the admin interface user as the browser interprets it as a tag. adrian Tom Tobin <korpios@korpios.com>   0 0 0 0 0 0
760 2005-11-09 10:52:24 2007-02-26 17:45:33 2019-06-24 00:23:22.109736 Accepted closed contrib.admin defect normal   wontfix Error reason not seen when 500 template is missing When DEBUG = False (production environment) and an error happens, and the 500 template is not provided - one gets a traceback about the template not existing, but does not get a traceback for the exception that caused the actual failure. turkey wojtek@brandlay.com   0 0 0 0 0 0
769 2005-11-10 22:49:16 2007-07-03 23:08:39 2019-06-24 00:23:27.805240 Accepted closed contrib.admin defect normal   fixed ForeignKey issue w/r/t recent get_db_column() -> get_attname_column() switch in core.meta.fields This is in regards to the [http://code.djangoproject.com/browser/django/branches/new-admin new-admin branch] at revision [http://code.djangoproject.com/browser/django/branches/new-admin?rev=1158 1158]... During [1154], rjwittams merged in changes from trunk, including [1150] which changed Field.get_db_column() to Field.get_attname_column() and modified the various attributes used to refer to fields (e.g. manipulator fields, model object fields, database column names, &c). However, it looks like a couple spots were missed; see attached diff. rjwittams bitprophet   0 0 0 0 0 0
776 2005-11-12 15:17:01 2007-07-03 23:09:08 2019-06-24 00:23:32.183565 Accepted closed *.djangoproject.com defect trivial new-admin fixed smart+question Under Authentication data in templates there is a link to: http://www.djangoproject.com/documentation/models/templates_python/ I got a 404 when I clicked on it. jacob bmurdock http404 0 0 0 0 0 0
785 2005-11-14 03:47:53 2007-12-02 01:21:14 2019-06-24 00:23:37.919270 Accepted closed Database layer (models, ORM) enhancement normal master duplicate many2many table and legacy databases. hi. I have the following table in a legacy database. {{{ CREATE TABLE `hostgroup_membership` ( `hostid` int(11) NOT NULL default '0', `groupid` int(11) NOT NULL default '0', KEY `hostid` (`hostid`), KEY `groupid` (`groupid`), CONSTRAINT `hostgroup_membership_ibfk_1` FOREIGN KEY (`hostid`) REFERENCES `host` (`id`) ON DELETE CA SCADE, CONSTRAINT `hostgroup_membership_ibfk_2` FOREIGN KEY (`groupid`) REFERENCES `hostgroup` (`id`) ON DEL ETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Hostgroup membership'; }}} and i would like to use a many2many field in my model to represent this. right now I have 2 limitations. 1. I can not specify the table name. 2. I can not specify the field names and what they map too. what I would like to be able to do is somehow specify the tablename, as well as how the fields map to their respective column names. something like {{{ class Host(meta.model): Groups = meta.manyTomanyfield(Groups, db_table='foo', columns={self_col:'hostid', to_col:'groupid' }) }}} and have the manytomany code do the right thing. nobody Ian@holsman.net   0 1 1 0 0 0
792 2005-11-14 15:26:55 2007-09-16 11:41:56 2019-06-24 00:23:42.356887 Accepted closed contrib.admin defect normal   invalid FileField and edit_inline=meta.STACKED When using a FileField in a model that is edited inline in another model, I get the following error: {{{ #!python There's been an error: Traceback (most recent call last): File "/home/gb/projects/django/core/handlers/base.py", line 71, in get_response response = callback(request, **param_dict) File "/home/gb/projects/django/contrib/admin/views/decorators.py", line 49, in _checklogin return view_func(request, *args, **kwargs) File "/home/gb/projects/django/contrib/admin/views/main.py", line 795, in add_stage new_object = manipulator.save(new_data) File "/home/gb/projects/django/utils/functional.py", line 3, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/home/gb/projects/django/core/meta/__init__.py", line 1573, in manipulator_save f.save_file(rel_new_data, new_rel_obj, change and old_rel_obj or None, old_rel_obj is not None, rel=True) UnboundLocalError: local variable 'old_rel_obj' referenced before assignment }}} The model: {{{ #!python class Dokument(meta.Model): slug = meta.SlugField('Kurzname', prepopulate_from=('titel',)) titel = meta.CharField('Titel', maxlength=100) beschreibung = meta.TextField('Beschreibung') parent = meta.ForeignKey('self', null=True, blank=True) class META: admin = meta.Admin( search_fields = ('titel', 'beschreibung'), ) module_name = 'dokumente' verbose_name_plural = 'Dokumente' def __repr__(self): return self.titel class Anhang(meta.Model): titel = meta.CharField('Titel', maxlength=100) beschreibung = meta.TextField('Beschreibung') dokument = meta.ForeignKey(Dokument, edit_inline=meta.STACKED, num_in_admin=1) datei = meta.FileField('Datei', upload_to='uploads/%Y-%m-%d') class META: module_name = 'Anhaenge' verbose_name_plural = 'Anhaenge' def __repr__(self): return self.titel }}} nobody hugo   0 0 0 0 0 0
851 2005-11-20 12:12:18 2007-07-03 23:08:55 2019-06-24 00:24:20.122456 Accepted closed Database layer (models, ORM) enhancement normal   invalid New SQL query API I'm not sure how to put this nicely, but Django's SQL query API is pretty bad. I remember excitedly thinking of switching my project to Django and then seeing this terrible syntax and just giving up entirely. Indeed, I probably would never give Django a second look if I hadn't had lunch with Adrian. pub_date__date__lte='2005-01-01' is not just unintuitive, it's ugly. adrian aaronsw   0 0 0 0 0 0
875 2005-11-22 09:46:55 2007-07-03 23:09:17 2019-06-24 00:24:35.613788 Accepted closed Documentation defect normal   fixed typo in docs http://www.djangoproject.com/documentation/db_api/ in 'Field lookups' the examples says pub_date__lte translates to < NOW() and it translates to <= NOW() I believe :) jacob wojtek@brandlay.com   0 0 0 0 0 0
893 2005-11-24 07:07:17 2007-09-18 00:07:33 2019-06-24 00:24:47.265969 Accepted closed contrib.admin defect normal   fixed "change password" and "log out" on admin site doesn't work on apache2 When I setup a django project with apache2 and mod_python, the "change password" and "log out" on admin site doesn't work, I think the link in base.html should not be "/admin/password_change/", it should be "password_change/". adrian wangbin@gmail.com   0 1 1 1 1 0

Next page

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE "tickets_full" (
        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
    )
Powered by Datasette · Query took 3220.935ms