63 rows where "changetime" is on date 2007-12-02

View and edit SQL

Suggested facets: stage, component, type, severity, version, resolution

changetime (date)

  • 2007-12-02 · 63
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
590 2005-10-04 06:29:58 2007-12-02 17:59:19 2019-06-24 00:21:34.294191 Design decision needed closed Core (Cache system) enhancement trivial   wontfix Hinting cache from views (vary cache time by object age) Currently cache system uses rather simple way to specify expiration time: it is either some global value for per-site cache, or decorator's parameter for per-view cache. In reality in many cases it depends on content. For example, any news-oriented site (newspaper, blog, message board, ad place, and so on) rarely (if ever) changes archived articles. It is normal to go and change a recent article --- some typos, omissions, and recent development may warrant updates. In this case it makes sense to set hours (days? weeks?) for old articles, and few minutes for recent ones. Possibly some gradations would be required depending on age of underlying document. It is quite possible to find other influences on cache item expiration time: tags, trends of user's activity, and so on. I propose to add a property to '''response''' object, which will indicate the desired expiration time. It can be set by view methods (or some custom middleware). If it is set, it's used by cache middleware. If not, existing mechanism is used. This change doesn't break existing code. Required code changes are rather trivial --- existing cache middleware uses similar mechanism already ('''request''' object is used instead of '''response''' object). That's why I don't submit a patch this time --- it boils down to invention of right name for the property. I trust you guys would be far more consistent than me. nobody eugene@lazutkin.com cache 0 0 0 0 0 0
685 2005-10-24 00:09:23 2007-12-02 15:43:35 2019-06-24 00:22:34.217816 Ready for checkin closed Generic views defect major master fixed [patch] list_detail and archive_* generic views should default allow_empty to True Ideally default behaviour should correlate with the assumptions of the majority. Although it is clearly documented otherwise, I suspect that most people (like me :) will assume that the list_detail generic view handles an empty list exactly as it handles a populated list. I was surprised at getting 404s after reseting my database. Current bahviour has the potential to facilitate unnoticed bugs. I suggest defaulting 'allow_empty' to True. Of course this must be weighed against the hassle of backwards incompatibility and I suspect it may lose out on these grounds, but I thought it was worth ticketing for consideration. nobody django@kieranholland.com   0 1 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
1037 2005-12-10 21:30:33 2007-12-02 18:10:03 2019-06-24 00:26:17.955616 Design decision needed closed Core (Other) enhancement normal   invalid ManyToMany should have support for deleting a single relation Currently you would have to get the list of relations for a ManyToMany field, remove the relation you want to delete and set the list of relations new. With large numbers of relations this can be inefficient (actually it's inefficient with smaller numbers, too, but might just not be such a problem). I think it would be a good idea to have a delete_<field> as a complementary of the existing add_<field> method. nobody hugo feature_request 0 0 0 0 0 0
1194 2006-01-09 02:49:45 2007-12-02 18:18:37 2019-06-24 00:27:57.387910 Design decision needed closed Core (Other) enhancement normal   wontfix [patch] Check for file permissions for proper error messages I'm not sure how possible it is, but sometimes the error messages (eg TemplateDoesNotExist) don't reflect the correct problem. I've had a few times where it was simply a case of the apache user not being able to read the files, but the error message meant that I was looking at the problem from the wrong persective. Would this be hard / worthwhile to implement? Maybe even at a basic level it could tell the user in the error message to check permissions? nobody Tim   0 1 0 1 0 0
1636 2006-04-13 20:02:33 2007-12-02 18:21:03 2019-06-24 00:32:38.620786 Design decision needed closed Database layer (models, ORM) enhancement minor   wontfix [patch] Add support for CIDR datatype This patch extends Django to support the CIDR datatype - whilst this is native in PostgreSQL, checks that are not reliant on the database engine are performed in order to support the other database systems. The code is at http://rob.sh/files/django_cidr.diff and questions/problems with the code can be addresses to me at rob@catalyst2.net nobody Rob Shakir (rob@catalyst2.net)   0 1 1 0 0 0
1654 2006-04-17 20:36:38 2007-12-02 18:21:57 2019-06-24 00:32:49.778565 Design decision needed closed Database layer (models, ORM) defect normal   fixed Output sql satement on OperationalError Hi, Is it possible to output the sql statement in the debug information when encountering an OperationalError? As a default the OperationalError spits out the "there is a problem at xx" with your statement (referring to the sql). While we shouldn't worry about the sql, it can make the error harder to trace because knowing the error from a statement I issued by proxy doesnt necessarily help me. It might help trouble shooting real bugs too. nobody django@radbrad.rucus.net   0 0 0 0 0 0
1824 2006-05-09 16:47:27 2007-12-02 18:22:38 2019-06-24 00:34:38.863143 Design decision needed closed Database layer (models, ORM) defect normal   duplicate Name clashes in user-installed apps cause duplications in Admin Interface I naively created a new Django application called 'admin', created a suitable model to access an existing database, and set up the admin interface to access it. Unfortunately, this resulted in two 'Admin' modules, and two sets of my models appearing in the admin interface. Debugging this, I see that in django.db.models.loading there is a _app_models dictionary which only stores as a key the name of the modules - 'admin' in this case, rather than the whole path. This is handled with code such as: {{{ return _app_models.get(app_mod.__name__.split(".")[-2], {}).values() }}} I appreciate that app names want to be short and unique for database use, but feel that either: 1. This should work and use a fully-qualified name, particularly given users are likely to use many 3rd-party applications in the future and conflicts will arise. 1. It should raise an Exception if conflicting module names exist. nobody jermy   0 0 0 0 0 0
2101 2006-06-06 23:49:17 2007-12-02 01:47:42 2019-06-24 00:37:35.318378 Accepted closed Database layer (models, ORM) defect trivial   fixed maxlength should be max_length I have a feeling this isn't going to go over too well, but the "maxlength" parameter for the various field types should be "max_length." This really isn't an issue about cosmetics, but rather one about consistency. FloatField has "max_digits" and ForeignKey has "max_num_in_admin", while CharField, CommaSeparatedIntegerField, and SlugField have "maxlength." Many times I find myself going to type the parameter one way only to find it should be the other way. It's one of those little gotchas in the framework. My personal recommendation would be to add the "max_length" parameter without removing "maxlength." This way, backwards-compatibility can be maintained while promoting consistency moving forward. The best of both worlds. adrian nirvdrum maxlength max_length 0 1 0 0 0 0
2381 2006-07-20 15:03:00 2007-12-02 18:34:14 2019-06-24 00:40:34.367911 Design decision needed closed contrib.admin enhancement minor   wontfix [patch] Add accesskeys to admin-site forms Would be nice if in the admin interface there were accesskey's for the various save buttons and such. So that people could use 'alt-s' instead of clicking save every time. Not a huge deal, but would be a minor improvement that can really help when people are doing massive data entry. nobody umbrae@gmail.com None 0 1 0 0 0 0
2437 2006-07-27 17:05:57 2007-12-02 00:00:36 2019-06-24 00:41:10.268269 Ready for checkin closed Uncategorized enhancement normal master fixed [patch] Quick Copy to pastebin Hi, I read that there is an "little, easy improvements" open. Since the owner was 'just starting' I tried it myself and thought that it wasn't really difficult to solve. Regards, Dirk ekarulf dummy@habmalnefrage.de pastebin, sprintsept14, sprintdec1 0 1 1 0 0 0
2447 2006-07-29 17:22:40 2007-12-02 18:38:17 2019-06-24 00:41:16.667802 Design decision needed closed Core (Other) enhancement normal   duplicate [patch] Experimental time zone support for date and time fields, database backend utilities The attached patch attempts to improve Django's support for time zones. Specifically, it modifies the date and time fields so that they return str(self.data), which will yield an ISO 8601 formatted date, but with a space separator instead of a T. That format will include a time zone offset using the [+-]HH:MM format if the underlying datetime object is not naive. That format is understood by most databases. It also modifies the function typecast_timestamp from db.backend.util such that it will try to parse time zone offsets. If no such format is found, it will still produce a non-naive datetime object, set in the current time zone. nobody bahamut@macstorm.org timezone, time zone, UTC 0 1 1 0 0 0
2631 2006-08-31 01:43:56 2007-12-02 19:31:13 2019-06-24 00:43:14.976952 Design decision needed closed Database layer (models, ORM) defect trivial   invalid pysqlite2.dbapi2.OperationalError: no such table - SQLite needs full path for settings.DATABASE_NAME If the sqlite database is given a relative path in settings.DATABASE_NAME ( e.g. "database.db" ), then any trying to load it from a subdir fails at first database access as pysqlite can't find the table (i.e. it's assuming we're creating the database). e.g.: {{{ project/databasename.db/ project/somedir/ project/somedir/script.py }}} script.py looks like: {{{ #!/usr/bin/env python import sys,os # Django bootstrap from http://fnordia.org/?q=node/483 project_dir = os.path.abspath('../') project_name = os.path.basename(project_dir) sys.path.append(os.path.join(project_dir, '..')) sys.path.append("..") sys.path.pop() os.environ['DJANGO_SETTINGS_MODULE'] = '%s.settings' % project_name from django.conf import settings from wnmm.monkeys.models import Play P = Play.objects.get(pk=1) }}} and does this: {{{ minerva:~/wnmm/data simon$ python script.py Traceback (most recent call last): File "script.py", line 16, in ? P = Play.objects.get(pk=1) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/django/db/models/manager.py", line 67, in get return self.get_query_set().get(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/django/db/models/query.py", line 211, in get obj_list = list(clone) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/django/db/models/query.py", line 103, in __iter__ return iter(self._get_data()) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/django/db/models/query.py", line 430, in _get_data self._result_cache = list(self.iterator()) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/django/db/models/query.py", line 172, in iterator cursor.execute("SELECT " + (self._distinct and "DISTINCT " or "") + ",".join(select) + sql, params) File "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/django/db/ba… nobody dev@simon.net.nz   0 0 0 0 0 0
2694 2006-09-11 06:17:02 2007-12-02 19:32:59 2019-06-24 00:43:54.496994 Design decision needed closed Core (Other) enhancement trivial   invalid [patch] urlencode to use optional safe argument for urllib.quote I know this issue got set as wontfix before but the previous solution was not backwards compatible and this one is. {{{ def urlencode(value, safe='/'): "Escapes a value for use in a URL" import urllib return urllib.quote(value, safe) }}} urlencode will work exactly as is does now but can *optionally* set which characters won't be escaped. The / character is the default for urllib.quote http://docs.python.org/lib/module-urllib.html Test case for this is when you have a url stored in the db e.g. "http://djangoproject.com/" if you do a var|urlencode on that you get back 'http%3A//djangoproject.com/' which will cause the browser to show http://example.com/http://djangoproject.com/ which is not what you want but if you can use var|urlencode:":/" you'll get the link working properly. nobody Kaaya urlencode 0 1 0 0 0 0
2835 2006-09-27 19:18:12 2007-12-02 19:43:56 2019-06-24 00:45:23.322385 Design decision needed closed Core (Other) enhancement normal   wontfix Processing of urlconf extra args, and removing args Allows for arguments to be pre-processed to allow urls to be more sensible, ie. comments below blog post. Also allows arguments to be removed so arguments needed for preprocessing can be removed befor being passed to views. Not sure if this is a good idea, but i just wanted to see if this is something django needs. Example code: form page.models import Page class comments_urlprocessor: def __init__(self, model, args=[]): self.model, self.args = model, args def __call__(self, *args, **kwargs): for key in kwargs.keys(): if key not in self.args: del kwargs['key'] try: commented_object = self.model.objects.get(**kwargs) except: commented_object = False return {'commented_object': commented_object} info_dict = { 'queryset': Page.objects.all(), } commments_dict = { 'process_kwargs': ['comments_urlprocessor'], 'remove_kwargs': ['pk','comments_urlprocessor'], 'comments_urlprocessor': comments_urlprocessor(Page, ['pk']), 'commented_object_template': 'page.html' } urlpatterns = patterns('', (r'^(?P<object_id>\d+)/$', 'django.views.generic.list_detail.object_detail', dict(info_dict, object_id=1, template_name='page.html')), (r'^(?P<pk>\d+)/comments/', include('advancedcomments.urls'), commments_dict ), ) nobody oyvind@saltvik.no   0 0 0 0 0 0
2946 2006-10-22 19:57:03 2007-12-02 19:47:52 2019-06-24 00:46:33.749829 Design decision needed closed Core (Other) enhancement normal   invalid HttpResponse should set charset for mimetypes starting with 'text/' I came across this point during doing some Ajax related responses with return mostly text/xml in utf-8. If I create HttpResponse(data, mimetype='text/xml') the default charset won't be set by django. Instead I have to call it HttpResponse(data, mimetype='text/xml; charset=\'utf-8\'') which is not the right way in my opinion. nobody dummy@habmalnefrage.de   0 0 0 0 0 0
2947 2006-10-22 20:49:23 2007-12-02 19:50:24 2019-06-24 00:46:34.406632 Design decision needed closed Core (Other) defect normal   duplicate ImportError raised in my management.py is swallowed This code in "management.py" has the same bug as was reported in ticket 2669 http://code.djangoproject.com/ticket/2669 # Import the 'management' module within each installed app, to register # dispatcher events. for app_name in settings.INSTALLED_APPS: try: __import__(app_name + '.management', '', '', ['']) except ImportError: pass If mysite/myapp/management.py tries to import a non-existent module, or imports a module that imports a non-existent module, then management.py is ignored silently. This is very hard to diagnost and debug! At first, I had no idea why management.py seemed to cease to exist. Then after a while, I guessed, based on my knowledge of how Python works. The solution should be the same as for 2669. Perhaps it would be good to audit all situations where ImportError is raised. nobody paul@prescod.net   0 0 0 0 0 0
3083 2006-11-30 09:22:48 2007-12-02 19:52:37 2019-06-24 00:48:06.393594 Design decision needed closed Database layer (models, ORM) defect normal   fixed MySQL IntegrityError Exception on object creation When two users try to register _simulaneously_ with the same username, they both pass validation (because at that moment nobody of them is registered), but when we do actual user.save(), one of them gets MySQL IntegrityError (Duplicate Key Error). Yes, I can handle it, {{{ from MySQLdb import IntegrityError try: user.save() except IntegrityError: errors['username'] = 'User with this username already exists', }}} but there is dependence to MySQL. I can't simply do "except:", because there can be another trouble, such as no connectivity to database during restart, but user would get confusing message about invalid username. The same thing is with all models. nobody anonymous   0 0 0 0 0 0
3113 2006-12-07 20:30:09 2007-12-02 19:54:26 2019-06-24 00:48:25.571149 Design decision needed closed Forms enhancement normal   wontfix [patch] newforms support for parsedatetime with DateField What about these for "cleaning" Date-based fields? Or maybe for a "HumanDateTimeField()"? They would allow people to enter in hazy, non specific dates and times, like "tomorrow", "next tuesday", or "10/24/2006". [http://cheeseshop.python.org/pypi/ParseTime/1.0] [http://cheeseshop.python.org/pypi/parsedatetime/0.8.0] The second seems more robust, but the first seems more lightweight. nobody Brantley <deadwisdom@gmail.com>   0 1 0 0 1 0
3168 2006-12-20 01:42:42 2007-12-02 19:55:04 2019-06-24 00:49:00.871824 Design decision needed closed Generic views enhancement normal   wontfix [patch] object_list should accept lists as well as QuerySets object_list should accept lists as well as QuerySets. This is perhaps a matter of opinion. Obviously getting access to a list in urls.py isn't practical. However, lots of people use generic views as a way to "finish off" real views. It therefore seems a bit limiting to only accept QuerySets. A view may parse some items in an xml file and return them as a list or may do a raw SQL query rather than using Django's ORM. So this is not an impractical addition. I haven't renamed the queryset argument since it is often specified by keyword. Another, perhaps cleaner solution would be to rename queryset to sequence and accept queryset as a deprecated (or not) argument. nobody Grimboy   0 1 1 0 0 0
3228 2007-01-04 13:43:46 2007-12-02 23:25:55 2019-06-24 00:49:38.756275 Ready for checkin closed Core (Other) enhancement normal master fixed Added SmartSlashMiddleware Implements a new way of 'append slash redirect', as described here: http://groups.google.com/group/django-developers/browse_thread/thread/d6ca6e1442658598 This patch requires some of the small refactorings from ticket #3224. mtredinnick mihai_preda@yahoo.com APPEND_SLASH middleware 0 1 0 0 0 0
3285 2007-01-11 19:09:28 2007-12-02 20:09:08 2019-06-24 00:50:14.723984 Design decision needed closed Contrib apps enhancement normal   wontfix Signed cookies In response to some discussion on Chapter 20 of the Django book, and Jacob's suggestion on django-users ([http://groups.google.com/group/django-users/browse_thread/thread/cf05d6559b9b05fe/ here]), this is a proposal for a `contrib` app (tentatively called `django.contrib.signed_cookies`) to implement signed cookies throughout a Django project. The only setting necessary to activate it is the inclusion of the middleware class to `MIDDLEWARE_CLASSES`, as it uses the existing `SECRET_KEY` setting to help generate the signature used to authenticate the cookies. Its position in `MIDDLEWARE_CLASSES` matters, as it transparently handles the signature encryption, validation and signature removal, so that other middlewares and views don't need to have any knowledge of its presence. * Each new cookie's name and value is taken along with the site's `SECRET_KEY` to generate a digest signature * The signature is then prepended to the cookie's value. * When a request comes in, it then recalculates the digest and validates it against the signature it contains. * If the cookie doesn't contain a signature, or if it fails to validate, the cookie is removed from `request.COOKIES`. * In this case, the view would usually reset the cookie, at which point it would be signed properly. * If all succeeds, the signature is removed from the cookie's value in `request.COOKIES`. Currently it uses MD5, but could easily be adapted to use a setting that would control which digest utility is used to generate the signature. nobody Marty Alchin (Gulopine) <gulopine@gamemusic.org> signed cookies 0 1 0 0 0 0
3295 2007-01-13 11:01:29 2007-12-02 20:12:21 2019-06-24 00:50:21.070030 Design decision needed closed Forms enhancement normal   wontfix [patch] newforms: I'd like to have a group functionality in forms I use my custom group fields in my class forms. I set an attribute in my form class: {{{ #!python class myform(forms): field1 = ... field2 = ... group_myfields = ['field1','field2'] }}} {{{field1}}} and {{{field2}}} are fields sets in my custom form class. I can retrive html output, writing this: {{{ #!python myform().myfields.as_p() myform().myfields.as_table() }}} and retrive only fileds listed in {{{group_myfields}}}. nobody ivan   0 1 0 0 0 0
3323 2007-01-18 19:06:43 2007-12-02 23:18:40 2019-06-24 00:50:38.832713 Ready for checkin closed Database layer (models, ORM)     master fixed Unhelpful error message in case of unresolved string relation ('str' object has no attribute '_meta') imagine the following model: {{{ class Test(models.model): rel = models.ForeignKey("bleh") }}} if the relation is not resolvable, in case of a typo or if it's in a different file, the user gets a rather unhelpful exception: {{{ Unhandled exception in thread started by <function inner_run at 0x2af9aa4e9668> Traceback (most recent call last): File "/home/alex/source/svn/django/django/core/management.py", line 1108, in inner_run validate() File "/home/alex/source/svn/django/django/core/management.py", line 1070, in validate num_errors = get_validation_errors(outfile) File "/home/alex/source/svn/django/django/core/management.py", line 936, in get_validation_errors for r in rel_opts.get_all_related_objects(): File "/home/alex/source/svn/django/django/db/models/options.py", line 127, in get_all_related_objects if f.rel and self == f.rel.to._meta: AttributeError: 'str' object has no attribute '_meta' }}} a quick hacky fix is attached, but i guess it should be done in django.core.management.validate nobody alex@gc-web.de sprintsept14 sprintdec01 0 1 0 0 0 0
3694 2007-03-10 08:22:41 2007-12-02 00:07:36 2019-06-24 00:54:32.644165 Accepted closed contrib.admin     master duplicate admin docstrings not added to doc pages because of stringfilter decorator The decorator {{{stringfilter}}} in defaultfilters.py overrides the docstrings, making the documentation for those filters in {{{/admin/doc/filters/}}} empty. This is similar to #1840, but in a different component and with a different side effect, however the discussion there might prove useful in resolving this. A possible (ugly)solution may be to call stringfilter inside all the filters which need it, rather than decorating. gwilson Simon G. <dev@simon.net.nz>   0 0 0 0 0 0
3883 2007-03-31 03:50:09 2007-12-02 20:57:53 2019-06-24 00:56:31.017637 Ready for checkin closed Documentation     master fixed Add documentation for LocalFlavor Here's a first pass for LocalFlavor documentation (see http://groups.google.com/group/django-developers/browse_thread/thread/2907d367f9bb69c2) nickefford Simon G. <dev@simon.net.nz> localflavor, sprintdec01 0 1 0 0 0 0
3961 2007-04-08 08:52:21 2007-12-02 18:43:02 2019-06-24 00:57:19.782564 Ready for checkin closed contrib.localflavor     master fixed Add South African / za localflavor The attached patch adds support for South African ID numbers and postal codes. The patch also creates {{{django.utils.checksums}}} (with only a luhn function for now), as [http://groups.google.com/group/django-developers/browse_thread/thread/2840162b37af5f76/3ec09f3acc8cc62a suggested by Malcolm Tredinnick on django-developers] nobody Russell Cloran <russell@rucus.net> localflavor, za 0 1 0 0 0 0
3989 2007-04-10 11:50:13 2007-12-02 00:02:53 2019-06-24 00:57:37.535573 Design decision needed closed Validators     master duplicate Django seems to parse only the addr-spec production of RFC 2822 The [http://www.rfc-editor.org/rfc/rfc2822.txt RFC 2822] defines some productions for the grammar of electronic mail adresses. The {{{mailbox}}} production enables the use of addresses like: {{{John Doe <john.doe@example.com>}}} The address within brackets is defined by the {{{addr-spec}}} production, which by itself constitutes a simpler but valid address format. (see the ABNF rules and their comment in 3.4) When I used a [http://c2i-alsace.u-strasbg.fr/contact/ contact form] in a web site powered by Django, an address satisfying the {{{mailbox}}} production was not accepted, but one satisfying {{{addr-spec}}} was. I was told on the {{{#django}}} channel that it should be an issue not specific to this site, but to Django itself. nobody Pierre Thierry <nowhere.man@levallois.eu.org>   0 1 0 1 0 0
4115 2007-04-22 09:35:54 2007-12-02 20:36:47 2019-06-24 00:58:57.202241 Design decision needed closed Contrib apps     master wontfix contrib.thumbnails The idea has been bantered about in the dev group, so I thought I'd put together something to start the ball rolling at least. nobody SmileyChris   0 1 0 0 0 0
4151 2007-04-25 12:43:08 2007-12-02 17:28:43 2019-06-24 00:59:19.850564 Design decision needed closed Contrib apps     master duplicate Patch to add support for more secure password hashes in Python 2.5 or newer Django currently uses the {{{sha}}} module from the standard library to compute the SHA-1 hash of a password. Developers with particular concerns about security may prefer to use a stronger, more secure hashing algorithm such as SHA-256. Such algorithms are available in the standard library as of Python 2.5, via the {{{hashlib}}} module. This patch modifies {{{django.contrib.auth.models}}} in two ways. First, it adds support for {{{hashlib}}} and the SHA-224, SHA-256 and SHA-384 algorithms to the {{{check_password}}} function. (For SHA-512 to be supported, the {{{password}}} field of the {{{User}}} model would need to be lengthened.) Second, it modifies the {{{set_password}}} method of the {{{User}}} model to use SHA-256 by default for password hashing, falling back on the {{{sha}}} module if {{{hashlib}}} cannot be imported. doctests for the {{{check_password}}} function are included with the patch. nobody Nick Efford <nick@efford.org> authentication, password, hash 0 1 1 0 0 0
4394 2007-05-26 11:47:19 2007-12-02 20:40:09 2019-06-24 01:01:54.819623 Design decision needed closed Contrib apps     master wontfix Common fractions in humanize The "humanize" tags are very useful for making a site friendly, but one thing that is missing are common/vulgar fractions, which are much more human than decimal fractions in many contexts. This patch adds text_fraction (which produces fractions like "1 1/4") and html_fraction (which generates HTML using sup and sub tags to position the numerator and denomenator). nobody max.rabkin@gmail.com humanize fractions 0 1 0 0 0 0
4563 2007-06-14 16:27:47 2007-12-02 23:57:23 2019-06-24 01:03:43.465033 Ready for checkin closed Template system     master fixed Context should expose removed/added scope objects (dicts) Originally suggested it [http://groups.google.com/group/django-developers/msg/987347b0da607839 in the 'ForNode multiple args' thread], but opening a ticket for it now since it's generally useful. Basically, proposing that Context.(push|update) return the newly added scope, and that Context.pop() returns the removed scope (for reasons of API symmetry mainly). The main reasoning behind this is that it's useful to bypass Context when doing more then setting a key or two- Context's api isn't as full featured as dicts (nor necessarily should it be). Right now, can do similar tricks via passing in the new scope to update, but that's not particularly friendly/obvious- alternative being reaching into the Context internal stack, which again, isn't very friendly (screws encapsulation anyways). Bypassing context for doing scope updates is actually fairly useful- very least, access to .clear() is a nice way to avoid continual pop/push on the stack per iteration. nobody (removed)   0 1 0 0 0 0
4771 2007-07-05 11:05:57 2007-12-02 20:21:17 2019-06-24 01:05:57.137760 Design decision needed closed Core (Mail)     master wontfix EmailHTML - EmailMessage with HTML and related/inline images support Seems we need the ability to specify Content-Type 'name' header for attachments, when using the new mail objects. I'm trying to send an HTML mail with images, using EmailMultiAlternatives, attach_alternative, and attach_file, but the resulting message isn't readable. It's attaching everything OK, but not with the right headers. nobody sime <simon@quo.com.au> EmailMessage multipart mail html attachments Content-ID 0 0 0 0 0 0
5002 2007-07-28 13:18:32 2007-12-02 23:26:01 2019-06-24 01:08:26.213090 Ready for checkin closed Core (Other)     master fixed [patch] using pdb with django Set project directory to current if no one found, this lets use pdb with django test.py: {{{ import sys import django.core.management as management import settings management.setup_environ(settings) import django }}} this will work invoked by python test.py and no if by pdb: {{{ >/home/vitja/Desktop/xxx/test.py(1)?() -> import sys (Pdb) n >/home/vitja/Desktop/xxx/test.py(2)?() -> import django.core.management as management (Pdb) >/home/vitja/Desktop/xxx/test.py(3)?() -> import settings (Pdb) >/home/vitja/Desktop/xxx/test.py(5)?() -> management.setup_environ(settings) (Pdb) ValueError: 'Empty module name' }}} This patch fixes this. nobody vitja <dummylink@gmail.com> pdb 0 1 0 0 0 0
5157 2007-08-14 18:48:20 2007-12-02 20:49:09 2019-06-24 01:10:06.605215 Design decision needed closed Core (Other)     master wontfix Direct Apache to serve a static file from view code Django is not meant to be a static file server, but there is no easy method to direct Apache to serve a file. I have a use case where I need to authenticate a user and decide which static media file to pass back based on some model and view logic. Usage: if serve_static: raise http.HttpInternalRedirect('/path/to/file/') nobody mgiger@earthbrowser.com apache, static file, feature 0 1 0 1 1 0
5245 2007-08-24 12:55:14 2007-12-02 02:26:23 2019-06-24 01:11:04.806351 Unreviewed closed django-admin.py runserver     master wontfix manager runserver don't reload after fixing error since some days, manager runserver don't reload even if error is fixed in file. It was not the case before. Case to reproduce: Error in a manager imported from managers.py file: indentation. Server don't reload after fixing line. nobody bchesneau@gmail.com runserver reload 0 0 0 0 0 0
5248 2007-08-24 17:01:06 2007-12-02 00:44:18 2019-06-24 01:11:06.678191 Design decision needed closed Core (Mail)     master wontfix Add mail_options to SMTPConnection This patch makes it easier to set the mail_options when sending email using the SMTPConnection class. The patch adds support for setting this value on a class instance level and a global level. For example, passing ['XVERP'] to postfix activates variable envelope return path (VERP) delivery. VERP is beneficial when processing bounce backs from mass emails. nobody mmcclain@signpostnetworks.com feature 0 1 0 0 0 0
5265 2007-08-26 14:46:59 2007-12-02 02:41:18 2019-06-24 01:11:19.634813 Unreviewed closed Internationalization     master invalid translations subsystem doesn't capitalize correctly (for turkish?) in turkish, "i" is capitalized as "İ". django chooses to capitalize it as "I". nobody Can Burak Cilingir <canburak@cs.bilgi.edu.tr>   0 0 0 0 0 0
5362 2007-09-08 10:51:01 2007-12-02 21:01:17 2019-06-24 01:12:32.138251 Ready for checkin closed Testing framework     master fixed markup test with docutils failed Hi, I have python 2.5, docutils 0.5 and SVN-trunk (Rev 6066) Django installed. I run the django/contrib/markup/tests.py and I wondered that the docutils test failed. Attached a fix for the bug !? Regards, Dirk keithb Dirk Datzert <dummy@habmalnefrage.de>   0 1 0 0 0 0
5676 2007-10-03 17:19:30 2007-12-02 20:41:31 2019-06-24 01:15:59.088810 Ready for checkin closed contrib.localflavor     master fixed mx localflavor Patch to add a Mexican localfavor for State fields. nobody arien <regexbot@gmail.com> localflavor, l10n, mx 0 1 0 0 0 0
5692 2007-10-06 12:56:20 2007-12-02 21:03:40 2019-06-24 01:16:09.334785 Ready for checkin closed contrib.localflavor     master duplicate Countries list for localflavor This is a new file to place in django/contrib/localflavor/generic/ The file include a tuple of counties ISO-3166-1. The country names should be not translated. My suggestion for the file name is "country.py". nobody Davide "Design" Muzzarelli <info@dav-muz.net> countries 0 1 0 0 0 0
5743 2007-10-12 08:14:42 2007-12-02 15:27:44 2019-06-24 01:16:42.842014 Ready for checkin closed Core (Other)     master fixed Django breaks Python 2.5's help() If you have Django installed for Python 2.5, the internal help system breaks up. To reproduce just open the normal shell (not through manage.py), type "help()" and "modules". Setting DJANGO_SETTINGS_MODULE works around this, but shouldn't be required for vanilla shell. Also 2.4 works just fine (don't have 2.3 anymore). Both 0.96 and HEAD have the same symptoms.   anonymous   0 1 0 0 0 0
5790 2007-10-21 15:38:50 2007-12-02 00:51:31 2019-06-24 01:17:13.105342 Design decision needed closed Core (Other)     master wontfix Add support for Cc: in django/core/mail.py The attached patch adds support for Cc: in django/core/mail.py. Using the already existing 'headers' argument of the EmailMessage constructor is not enough, because just like Bcc addresses, Cc addresses must be passed to the RCPT TO command, so they must be present in the list returned by the recipients() method. nobody tpetazzoni   0 1 0 0 0 0
5808 2007-10-23 21:14:34 2007-12-02 00:51:07 2019-06-24 01:17:24.725612 Design decision needed closed Core (Other)     master duplicate Cannot pickle the default filters Reproduction code: from django import template t = template.Template("{{ firstname|capfirst }}") c = template.Context("firstname": "simon") p = pickle.dumps(t) print pickle.loads(p).render(c) Expected result: Simon Actual result: <class 'pickle.PicklingError'>: Can't pickle <function _dec at 0x83c010c>: it's not found as django.template.defaultfilters._dec nobody simon@akoha.org template pickle filter 0 1 0 0 0 0
5821 2007-10-26 13:20:14 2007-12-02 00:49:01 2019-06-24 01:17:33.102529 Design decision needed closed Tools     master wontfix Adds decode_entities to utils.html This patch adds html entities decoding function to utils.html == Description == Replaces HTML entities (name, decimal and hexadecimal) with unicode equivalents.[[BR]] Ampersands, quotes and carets are not replaced by default. == Usage == '''decode_entities''' can be used to normalize and store user input from a js html editor for example.[[BR]] If you need to cut a string that could contain HTML entities, you can decode it before the cut without the fear of cutting through an entity. == Examples == {{{ #!python >>> from django.utils.html import decode_entities >>> html = u'&lt;D&eacute;j&agrave; &#9001;&gt;' >>> decode_entities(html) u'&lt;D\xe9j\xe0 \u2329&gt;' >>> decode_entities(html, decode_all=True) u'<D\xe9j\xe0 \u2329>' }}} nobody Samuel Adam <samuel.adam@gmail.com> html 0 1 0 0 0 0
5828 2007-10-28 02:39:01 2007-12-02 18:14:11 2019-06-24 01:17:37.719832 Accepted closed contrib.admin     newforms-admin fixed Changeset 6613 seems to have broken edit inline All edit_inlines have started being required; i.e. when saving, and the rest of the blank rows get validation errors saying they need to be filled in. nobody Øyvind Saltvik <oyvind@saltvik.no>   0 1 0 0 0 0
5857 2007-11-01 18:32:09 2007-12-02 00:48:02 2019-06-24 01:17:56.412028 Design decision needed closed Forms     master wontfix exclude_fields to pair with fields in form_for_model I was thinking, if there is the parameter "fields" with form_for_model, as a helper, it should existe something like exclude_fields, because sometimes, one wants to hide from his form but one field. Doesn't seem "kind" to make a poor developer to write a full set of fields just to "hide" a single one. Example: {{{ class Example(models.Model): name = models.CharField(maxlength=20) name2 = models.CharField(maxlength=20) name3 = models.CharField(maxlength=20) show = models.BooleanField(default=True) ExForm1 = form_for_model(Example, fields=('name1', 'name2', 'name3')) #exists ExForm2 = form_for_model(Example, exclude_fields=('show')) #should exist ExForm1 == ExForm2 -> True }}} -- Kind is good {{{^__^}}} nobody italomaia <italo.maia@gmail.com> form_for_model enhancement 0 0 0 0 0 0
5895 2007-11-08 00:04:14 2007-12-02 18:30:12 2019-06-24 01:18:20.869025 Accepted closed Forms     newforms-admin fixed inline-edit performance problem after changeset 6655 I noticed a massive performance problem today after updating to the latest newforms-admin. Attempting to load a change page for one of my models that has another model edited inline pegged the CPU and started eating memory. I tracked it down to this code in /django/newforms/models.py, in the init for BaseModelFormSet: {{{ if self.queryset: kwargs['initial'] = [initial_data(obj) for obj in self.get_queryset()] }}} Problem is self.queryset is an unfiltered queryset for the entire inline-edited model, it is not filtered by the pk of the parent instance until the self.get_queryset() call in the 2nd line, and "if self.queryset:" actually (apparently) calls {{{ __len__ }}} on the queryset. {{{ __len__ }}} in turn calls _get_data(), which in my case meant going and retrieving over 800,000 rows from the database, bringing my machine to its knees. Fix (attached) is simple: {{{ if self.queryset is not None: kwargs['initial'] = [initial_data(obj) for obj in self.get_queryset()] }}} jkocherhans Karen Tracey <kmtracey@gmail.com>   0 1 0 0 0 0
5919 2007-11-11 13:53:09 2007-12-02 18:15:16 2019-06-24 01:18:36.282497 Unreviewed closed contrib.admin     newforms-admin fixed 6655 formset update makes adding imposible (when model have inlines) From 6654 to 6655 there were changes in the branch: {{{ U django/newforms/models.py A tests/modeltests/model_formsets A tests/modeltests/model_formsets/__init__.py A tests/modeltests/model_formsets/models.py }}} Since 6655 i can't add new objects of models that have `inlines` options. When options without `intlines` it is all right. Error is: {{{ TypeError at /admin/gmaps/point/add/ __init__() takes at least 2 arguments (1 given) Request Method: GET Request URL: http://localhost:8000/admin/gmaps/point/add/ Exception Type: TypeError Exception Value: __init__() takes at least 2 arguments (1 given) Exception Location: /home/longman/django-svn/newforms-admin/django/contrib/admin/options.py in add_view, line 505 Python Executable: /usr/bin/python Python Version: 2.5.1 }}} Traceback: {{{ Traceback (most recent call last): File "/home/longman/django-svn/newforms-admin/django/core/handlers/base.py" in _real_get_response 81. response = callback(request, *callback_args, **callback_kwargs) File "/home/longman/django-svn/newforms-admin/django/contrib/admin/sites.py" in root 136. return self.model_page(request, *url.split('/', 2)) File "/home/longman/django-svn/newforms-admin/django/contrib/admin/sites.py" in model_page 153. return admin_obj(request, rest_of_url) File "/home/longman/django-svn/newforms-admin/django/contrib/admin/options.py" in __call__ 251. return self.add_view(request) File "/home/longman/django-svn/newforms-admin/django/contrib/admin/options.py" in add_view 505. inline_formset = FormSet() TypeError at /admin/gmaps/point/add/ __init__() takes at least 2 arguments (1 given) }}} nobody LongMan <alx.gsv@gmail.com> inline add 0 1 0 0 0 0
5921 2007-11-11 20:21:09 2007-12-02 20:33:17 2019-06-24 01:18:37.623447 Design decision needed closed Contrib apps     master wontfix Common parent class for User and AnonymousUser Howdy! While I know of and respect Django's deference to Pythonic duck-typing, it would be helpful for {{{isinstance(obj, klass)}}} to confirm whether an object is a user or not, regardless of authentication. However User inherits solely from models.Model and !AnonymousUser inherits from object -- they have no common lineage despite common interface. This patch creates an abstract parent class for both User and !AnonymousUser so a check for {{{isinstance(obj, django.contrib.auth.models.UserClass)}}} returns True whether the user is authenticated or not. It provides this functionality without any other modification to the external interface, so there are no side-effects or other impacts of this change. I've tested it against the Django test suite and it passes. -jag nobody jag@flowtheory.net   0 1 0 0 0 0
5961 2007-11-16 10:38:09 2007-12-02 20:41:34 2019-06-24 01:19:04.125251 Unreviewed closed contrib.comments     master wontfix Use template_name for all views in comments In django.contrib.comments, all the templates locations and names are hard coded in the views themselves. It expected to find them in TEMPLATE_DIRS[X]/comments. I recently used the comments app for my own project but didn't want to put them in that directory. This trivial change adds the template_name parameter to each view function and it defaults to the template location currently in the code. You would need to make a urls.py somewhere that has views that point to the comment system's views and pass a template_name, like how most everything else works (e.g. django.contrib.auth.views.login). A simple change but it makes the system a bit more flexible for those who want to use it. nobody Ryan Kaskel <ryan@ryankaskel.com> comments 0 1 0 0 0 0
5967 2007-11-17 16:43:45 2007-12-02 20:46:15 2019-06-24 01:19:07.970701 Unreviewed closed *.djangoproject.com     master fixed weblog archive links missing from August 2007 on If you visit http://www.djangoproject.com/weblog/ the sidebar on the right contains links to monthly archives of the weblog in descending order. The first link is "July 2007", and links for August, September, October and November 2007 are missing even though there have been postings in each of those months. Typing the URL for a missing link, e.g. http://www.djangoproject.com/weblog/2007/oct/ does bring up the correct archive page. On the http://www.djangoproject.com/weblog/ main page the missing links don't matter much, since all postings between July 1st and the present date do fit on the front page. But if you navigate to, say, http://www.djangoproject.com/weblog/2005/jul/ and would like to return to see October 2007 postings, there is no link for that nor any link to the list of most recent postings. nobody akaihola   0 0 0 0 0 0
6013 2007-11-22 15:10:27 2007-12-02 03:58:52 2019-06-24 01:19:37.704614 Unreviewed closed Core (Other)     master duplicate management.find_commands makes distribute django app difficultly. django.core.management.find_commands only searches the commands that ends with .py, but if I want to distribute django application to others and don't want to distribute source code, this will be a barrier. Actually, I want to distribute my django application using py2exe to be a desktop application. My approach in this time is: import django.core.management def find_commands(management_dir): command_dir = os.path.join(management_dir, 'commands') try: return [f[:-4] for f in os.listdir(command_dir) if not f.startswith('_') and f.endswith('.pyo')] except OSError: return [] django.core.management.find_commands = find_commands from django.core.management import ProjectManagementUtility os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' utility = ProjectManagementUtility(sys.argv, executableDir) utility.execute() It looks silly. If django.core.management.find_commands can search .py, .pyc and .pyo, I don't need to this anymore. This will make distribute django more easily and more flexible. Thanks for your effort. jdetaeye bear330   0 0 0 0 0 0
6020 2007-11-23 14:14:05 2007-12-02 20:36:21 2019-06-24 01:19:42.179542 Design decision needed closed Contrib apps     master wontfix Allow group comparing with basestring Sometimes, i have to check is a user is in a particular group(from auth), and i have to load the group i'm checking against, before i can use the "in" operator. Something like this: {{{ MyGroupName="badass_people" group=Group.objects.get(name=MyGroupName) if group in user.groups: ... else: ... }}} I would like to suggest the overwrite of the method __cmp__, so that something like this: {{{ group="badass_people" if group in user.groups: ... else: ... }}} I believe the code to do so is something like this: {{{ class Group(models.Model): #stuff stuff ... def __cmp__(self, group): if isinstance(group, basestring): return cmp(self.name,group) #more stuff... }}} nobody italomaia <italo.maia@gmail.com> auth, group, improvement 0 0 0 0 0 0
6040 2007-11-27 21:01:19 2007-12-02 20:40:06 2019-06-24 01:19:55.036532 Unreviewed closed Contrib apps     master invalid post_syncdb signal and contrib.auth permissions This is a feature request for contrib.auth's management.py In an app's management.py, doing: {{{ from myapp import models from django.contrib.auth.models import Permission def init_data(): perm = Permission.objects.get(codename=<permission string for models.my_model>) dispatcher.connect(init_data, sender=models, signal=signals.post_syncdb) }}} where <permission string for models.my_model> is something like "change_mymodel", will trigger a DoesNotExist exception on first run of syncdb. The problem is that contrib.auth is receiving the post_syncdb signal before "myapp", and there doesn't appear to be a way to force myapp to be the last receiver of the signal. Changing the order of the apps in settings.py has no effect. A suggested solution would be to add a new signal fired by contrib.auth after creation of permissions. Or am I missing an obvious way to handle after contrib.auth? nobody Dan <danielnaab@gmail.com> auth contrib.auth post_syncdb management.py 0 0 0 0 0 0
6042 2007-11-28 03:58:35 2007-12-02 19:29:55 2019-06-24 01:19:56.469597 Accepted closed Forms     master fixed ModelForms New syntax to replace form_for_model and form_for_instance as discussed [http://groups.google.com/group/django-developers/browse_thread/thread/44a782308af81796 on django-dev]. nobody jkocherhans   0 1 0 0 0 0
6070 2007-12-01 04:06:55 2007-12-02 15:33:08 2019-06-24 01:20:14.432207 Ready for checkin closed Documentation     master fixed Document that SITE_ID is no longer required to run all tests I just ran all tests successfully with the following settings.py file: {{{ #!python URL_CONF = "urls" DATABASE_ENGINE = "sqlite3" }}} so the mention about "and a SITE_ID setting (any non-zero integer value will do) in order for all the tests to pass." in the [http://www.djangoproject.com/documentation/contributing/ Contributing to Django] page is wrong. Btw, why not put the above settings.py file in the tests directory to make it even easier for people to get going and start running tests? Just name it {{{sample_test_settings.py}}}. nobody anonymous   0 0 0 0 0 0
6071 2007-12-01 09:16:41 2007-12-02 20:17:10 2019-06-24 01:20:15.061472 Accepted closed Forms     master fixed Revison 6777 / 6778: maximum recursion depth exceeded Until revison 6777 my Django-program works fine. If I update to version 6778, I'll get the following error: Request Method: GET Request URL: http://dms.bildung.hessen.de/wir_ueber_uns/intern/index.html/edit/ Exception Type: RuntimeError Exception Value: maximum recursion depth exceeded Exception Location: /usr/local/lib64/python2.5/site-packages/django/utils/safestring.py in __add__, line 73 Python Executable: /usr/local/bin/python Python Version: 2.5.1 The error occurs, if I try to show a form (newforms). trey hans.rauch@gmx.net   0 1 0 0 0 0
6072 2007-12-01 10:32:03 2007-12-02 00:26:50 2019-06-24 01:20:15.677799 Ready for checkin closed Internationalization     master fixed January translation for catalan missing When displaying the calendar on the admin contrib application with your locale in catalan the January month appears as undefined. aaloy aaloy   0 1 0 0 0 0
6087 2007-12-01 21:00:36 2007-12-02 15:32:34 2019-06-24 01:20:25.346238 Ready for checkin closed contrib.sessions     master fixed Sessions should support setdefault Sessions don't currently support `setdefault`. They probably should. __hawkeye__ __hawkeye__   0 1 0 0 0 0
6091 2007-12-01 23:51:08 2007-12-02 00:00:36 2019-06-24 01:20:27.910598 Unreviewed closed Uncategorized     master fixed Update to AUTHORS Adding my name to the AUTHORS file mtredinnick ekarulf AUTHORS 0 1 0 0 0 0
6097 2007-12-02 05:14:02 2007-12-02 15:03:36 2019-06-24 01:20:31.819443 Ready for checkin closed Documentation     master fixed r6798 broke a link in the template.txt documentation page See r6798 and notice that the link around "Cross Site Scripting" in the "Automatic HTML escaping" is broken, resulting in a single backtick and no link being displayed on the html documentation page. I'm adding back in the link that was present in r6792. simeon simeon   0 1 0 0 0 0
6105 2007-12-02 21:01:07 2007-12-02 21:06:39 2019-06-24 01:20:37.084033 Unreviewed closed contrib.admin     newforms-admin duplicate The save_as admin option is not implemented in newfroms-admin   nobody jkocherhans   0 0 0 0 0 0

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