django_tickets
id | created | changetime | last_pulled_from_trac | stage | status | component | type | severity | version | resolution | summary | description | owner | reporter | keywords | easy | has_patch | needs_better_patch | needs_tests | needs_docs | ui_ux |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2005-07-13 19:03:27 | 2012-05-20 15:12:37 | 2022-03-06 03:19:23.152286 | Unreviewed | closed | Core (Other) | enhancement | normal | fixed | Create architecture for anonymous sessions | We need an architecture for anonymous sessions. Right now we have django.models.auth.sessions, but that only handles registered users' sessions. We need a system that automatically creates and manages sessions for anonymous users. Here's one idea for this: * In the settings file, you define a {{{SESSION_MODULE}}} string, like the {{{AUTH_PROFILE_MODULE}}}, which points to the model to use for sessions. * Using this, httpwrappers automatically creates a request.session object which is persistant across requests based on cookies, etc. | jacob | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
2 | 2005-07-13 19:04:45 | 2007-07-03 23:04:18 | 2022-03-06 03:19:23.301840 | Accepted | closed | contrib.admin | defect | normal | fixed | Calendar popup - next/previous month links close the popup in Safari | In Safari 2.0 on Tiger, the next/previous month links close the popup. There's no way to get to a different month. | jacob | anonymous | 0 | 0 | 0 | 0 | 0 | 0 | ||
3 | 2005-07-13 19:06:09 | 2007-07-03 23:04:08 | 2022-03-06 03:19:23.472795 | Design decision needed | closed | Metasystem | enhancement | normal | fixed | Convert OneToOne to be like ForeignKey and ManyToManyField | Remove the boilerplate from {{{OneToOne}}}. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
4 | 2005-07-13 19:08:10 | 2005-09-16 17:01:24 | 2022-03-06 03:19:23.630870 | Design decision needed | closed | Core (Cache system) | enhancement | normal | duplicate | Add a db cache backend | We should have a db cache backend -- this will be very useful for people who can't/won't run memcached. | jacob | adrian | 0 | 0 | 0 | 0 | ||||
5 | 2005-07-13 19:08:56 | 2007-02-25 17:31:18 | 2022-03-06 03:19:23.798789 | Design decision needed | closed | Metasystem | enhancement | normal | wontfix | Add a cache=NUM_SECONDS argument to QuerySet | It'd be convenient for the lookup API to have caching baked in. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
6 | 2005-07-13 19:13:41 | 2006-10-07 21:25:13 | 2022-03-06 03:19:23.963614 | Unreviewed | closed | Metasystem | defect | minor | fixed | Remove has_related_links option from models | The current (undocumented) {{{has_related_links}}} code is too Ellington-specific and doesn't belong in Django. Let's remove it. We'll have to come up with a more generic way of associating content_type_id/object_id relationships, such as related links, to a model. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
7 | 2005-07-13 19:14:41 | 2007-07-03 23:04:26 | 2022-03-06 03:19:24.105352 | Design decision needed | closed | contrib.admin | defect | minor | fixed | Patch: Changelist date range filters don't maintain state as expected | The changelist filter by a date doesn't behave as expected. '''What happens:''' When I click "This month", it correctly displays the objects for this month and drills down the date nav to the appropriate context, but the filter on the right does not indicate which range is currently applied. The "Any date" link does not reset the date drill down. '''What should happen:''' The date filter on the sidebar should update to show which range is currently applied. The "Any date" option should reset the date context. Alternatively, the filter "by date" options could be removed entirely to avoid conflict with the date drilldown. | adrian | wilson | 0 | 0 | 0 | 0 | 0 | 0 | ||
8 | 2005-07-13 19:15:25 | 2007-07-03 23:03:55 | 2022-03-06 03:19:24.252139 | Unreviewed | closed | contrib.admin | defect | minor | fixed | Date and time fields should accept multiple formats | Date and time fields should be able to adapt to multiple formats of user input (a la Simon's [http://simon.incutio.com/archive/2003/10/06/betterDateInput date parser]). As a basic example, a user should be able to enter "Today" or "Wednesday" for the date and have it converted to the correct format for today's date or this Wednesday's. For time fields, a user should be able to enter 6pm instead of 18:00. | jacob | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
10 | 2005-07-13 19:16:42 | 2007-01-19 17:00:10 | 2022-03-06 03:19:24.535662 | Unreviewed | closed | Validators | task | minor | invalid | Ordered objects should have API access to their order number | The specific problem is that photos within photo galleries need to know their place within the gallery (1st, 2nd, etc.). In order to solve this, we'll need ordered objects to give API access to their order number. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
11 | 2005-07-13 19:17:13 | 2007-07-03 23:03:30 | 2022-03-06 03:19:24.708876 | Ready for checkin | closed | Metasystem | defect | minor | wontfix | replaces_module should handle "admin" more intelligently | Currently if you add or remove fields via the {{{replaces_module}}} framework, you have to redefine {{{admin}}} for the object. Ideally {{{admin}}} would be handled automatically. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
12 | 2005-07-13 19:19:38 | 2007-07-03 23:03:44 | 2022-03-06 03:19:24.890200 | Unreviewed | closed | Metasystem | normal | fixed | Add metasystem database-check functionality | We should automate the checking of whether everything is properly installed in the database for a particular app. For instance, a command such as {{{django-admin.py dbcheck news}}} would: * Check that the package exists in the DB. * Check that all the permissions exist in the DB. * Check that there aren't any *extra* permissions in the DB that the model doesn't know about. * Check that all the content types exist in the DB. * Check that there aren't any *extra* content types in the DB for this app. * Check that there aren't any missing fields. * Check that the fields are in the correct data type. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | |||
14 | 2005-07-13 19:20:55 | 2008-01-14 18:07:24 | 2022-03-06 03:19:25.261243 | Accepted | closed | contrib.admin | defect | normal | wontfix | PIE-IN-THE-SKY: Add spell-check capability to admin textareas | It'd be nice if every textarea throughout our admin offered users the option to spell-check its contents. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
15 | 2005-07-13 19:22:11 | 2006-08-29 10:03:03 | 2022-03-06 03:19:25.461869 | Unreviewed | closed | Metasystem | defect | normal | duplicate | Metasystem unique_together doesn't work for an object that's related inline | See {{{unique_together}}} in {{{music.MusicianInBand}}}, which causes this when ManipulatorAdd is instantiated: {{{ Traceback (most recent call last): File "/usr/lib/python2.3/site-packages/worldonline/cms/core/handler.py", line 123, in get_response return callback(request, **param_dict) File "/usr/lib/python2.3/site-packages/worldonline/cms/views/admin/main_new.py", line 608, in change_stage manipulator = mod.ChangeManipulator(object_id) File "/usr/lib/python2.3/site-packages/worldonline/cms/models/meta.py", line 77, in _curried return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items())) File "/usr/lib/python2.3/site-packages/worldonline/cms/models/meta.py", line 1008, in manipulator_init self.fields.extend(f.get_manipulator_fields(rel_opts, self, name_prefix='%s.%d.' % (rel_opts.object_name.lower(), i), rel=True)) File "/usr/lib/python2.3/site-packages/worldonline/cms/models/meta.py", line 1279, in get_manipulator_fields params['validator_list'].append(getattr(manipulator, 'isUnique%sFor%s' % (i, j))) AttributeError: BandManipulatorChange instance has no attribute 'isUniquemusician_idForband_id' }}} | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
16 | 2005-07-13 19:24:03 | 2007-05-30 21:27:58 | 2022-03-06 03:19:25.856417 | Design decision needed | closed | contrib.admin | normal | invalid | Create some form of "edit many at once" feature for the admin | {{{ [5:54 pm] jacobkm: Hey, what do you think of making a general purpose CSV export/import for all admin pages? [5:54pm] jacobkm: A way for data entry folks to get lots of info in quickly? [5:56pm] django34: Sounds like a good idea...How would it handle many-to-one related objects? [5:56pm] jacobkm: I'm not sure, but probably just with IDs [5:56pm] jacobkm: Or maybe it wouldn't work if there are relations [5:57pm] django34: Do you have a use-case in mind? [5:57pm] jacobkm: Yeah -- Billy's been entering rosters/schedules/etc all day, and it's a PITA [5:58pm] jacobkm: I could write an excel importer for him, but it would take almost as long [5:58pm] django34: All of those things have related objects, don't they? [5:58pm] django34: I guess a roster doesn't, if it's just players [6:01pm] jacobkm: Well, it's got the team id [6:02pm] django34: But it doesn't have "many" of something else [6:02pm] jacobkm: I don't think any of them do... [6:03pm] django34: such as a team has many players [6:03pm] jacobkm: It could be an optional admin feature like the add as new thing [6:04pm] jacobkm: It's just that our admin isn't ideal when it comes to entering a *lot* of information. [6:04pm] django34: agreed [6:04pm] jacobkm: I think it would probably be dangerous, so we should be careful about who gets to use it [6:05pm] django34: There would be some usability issues, such as what to do if 5 records are submitted but one of them has an error in it [6:05pm] jacobkm: Yeah [6:05pm] jacobkm: I'd say all or nothing, probably. [6:06pm] django34: "There was an error in the 'player name' field in record #4" [6:06pm] django34: Not that bad [6:06pm] jacobkm: Right, exactly [6:06pm] jacobkm: (I did something like this for the CMS I build at IDSociety, except it had *no* error checking at all and was bascially a shortcut for me alone) [6:07pm] django34: I don't see a huge problem with adding this functionality to every admin item [6:07pm] jacobkm: How would it handle ManyToMany relations? [6:07pm] jacobkm: That's the most difficult, I think. [6:08pm] django34: ...Every item without ManyToMany relations, that is. :) [6:08pm] jacobkm: :) [6:08pm] django34: For something like a poll, which has multiple choices, I don't think there's a good way of doing it [6:08pm] jacobkm: It could use comma seperated integers [6:08pm] django34: The integers would represent choice IDs? [6:09pm] jacobkm: yeah, something like that [6:09pm] django34: If so, how would the choices get entered? [6:09pm] jacobkm: Ah, you'd have to do them seperatly. [6:09pm] django34: And that gets into humans manually creating IDs, which isn't ideal [6:09pm] jacobkm: Frankly, though, I only envision this being used on a few limited occasions [6:10pm] jacobkm: Yeah, I think anyway you slice it, it involves users entering IDs. [6:11pm] django34: What if there were a Web interface, which would look kind of like Excel and would allow for entering multiple records? [6:11pm] django34: Sort of like gen.TABULAR but not for related objects [6:12pm] jacobkm: Yeah, that would be ideal -- but it would be hard to make it fast and slick. [6:12pm] jacobkm: I've seen web clones of Excel that work well, but all the good ones look like they take lots of work. }}} | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | |||
18 | 2005-07-13 19:26:27 | 2007-07-03 23:03:51 | 2022-03-06 03:19:27.157564 | Unreviewed | closed | Database layer (models, ORM) | enhancement | normal | wontfix | Metasystem optimization: Don't select duplicate fields | In the following query, "poll_choices.poll_id" and "polls.id" are the same value. Only one of them needs to be selected: {{{ SELECT poll_choices.id,poll_choices.poll_id,poll_choices.choice, poll_choices.votes, polls.id,polls.slug,polls.question,polls.pub_date, polls.expire_date FROM poll_choices, polls WHERE poll_choices.poll_id = polls.id }}} | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
20 | 2005-07-13 19:32:17 | 2007-07-03 23:03:44 | 2022-03-06 03:19:28.799681 | Ready for checkin | closed | contrib.admin | enhancement | normal | duplicate | "Add another" for many-to-many relationships | Django already creates an "Add another..." link in one-to-many select boxes. (Example: The "place" select box on the "Add event" admin page has an "Add another..." link at the bottom of it.) Many-to-many fields -- represented in the admin as multi-select boxes -- also need "Add another..." capability. It could probably appear as the last entry in the select box, as in the one-to-many add-anothers. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
21 | 2005-07-13 19:33:01 | 2007-05-30 21:29:52 | 2022-03-06 03:19:29.033864 | Design decision needed | closed | contrib.admin | enhancement | trivial | fixed | FileUploadField should allow for manual filename entry | FileUploadFields currently don't allow users to type in the name of an ''already-existing file'' -- the system forces them to upload a new file each time. There should be a way of designating a path/filename on the server. It'd be great if there was some sort of filesystem-browsing interface, like the one Urchin has for selecting log sources. | adrian | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
22 | 2005-07-13 19:33:33 | 2008-10-06 03:46:01 | 2022-03-06 03:19:29.513777 | Unreviewed | closed | contrib.admin | defect | normal | duplicate | [patch] FileUploadField should allow for clearing the field | It's currently not possible to clear the value of a FileUploadField. | adrian | adrian | 0 | 1 | 0 | 0 | 0 | 0 | ||
23 | 2005-07-13 19:34:33 | 2013-10-15 09:17:25 | 2022-03-06 03:19:30.445855 | 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 | ||
24 | 2005-07-13 19:35:15 | 2008-08-21 16:09:48 | 2022-03-06 03:19:30.618279 | Design decision needed | closed | Metasystem | defect | normal | wontfix | edit_inline support for OneToOne relationships | An object should be able to edit a OneToOne related object inline on the original object's page. For example, users should be able to edit lawrence.com Restaurants on the Place admin screen. (Restaurants are a one-to-one extension of Places.) | nobody | adrian | subclassing | 0 | 0 | 0 | 0 | 0 | 0 | |
27 | 2005-07-13 19:40:29 | 2014-06-08 07:20:52 | 2022-03-06 03:19:31.121463 | Someday/Maybe | closed | Forms | New feature | Normal | worksforme | Single form field for multiple database fields | Some admin interfaces would benefit from being able to have multiple fields' worth of data entered in a single field. For example, a field for a sports stat could be entered into a single field as "XX-YY-ZZ", whereas the three values are actually three separate fields in the DB. Relevant conversation: {{{ <jacobkm> Well, I'm using those aggregate fields for stats where you type something like "3-17" and it gets split into multiple fields. I see there's a CommaSeperatedIntegerField in formfields which would work for this, but there needs to be a way in the datadescriptions to say "this group of fields should be presented as a single field" <django34> The DD will have to provide a format string of some sort <jacobkm> Easy enough <jacobkm> are you thinking of a % format string or a regex? <django34> Not sure... <django34> Probably just % <django34> fields_together = '%(last_name)s, %(first_name)s' }}} | nobody | adrian | 0 | 0 | 0 | 0 | 0 | 0 | ||
28 | 2005-07-13 19:41:08 | 2007-07-17 21:49:58 | 2022-03-06 03:19:31.290643 | 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 | ||
30 | 2005-07-13 22:12:36 | 2007-07-03 23:04:02 | 2022-03-06 03:19:31.569913 | Design decision needed | closed | Tools | defect | normal | 1.0 | fixed | django-admin shouldn't copy "." directories from the template. | It's creating spurious ".svn" directories when used from svn; that's not so hot. | adrian | jacob | 0 | 0 | 0 | 0 | 0 | 0 | |
13 | 2005-07-13 19:20:21 | 2011-09-08 05:35:18 | 2022-03-06 03:19:25.074830 | Accepted | closed | contrib.admin | New feature | Normal | dev | fixed | Related objects interface should be tighter (edit_inline) | The admin interface for related objects and the ordering interface need some tighter integration. Currently, anything that can be ordered goes in the right sidebar of the admin change form, with no relation to the actual input fields for those objects. The adding, removing, editing and ordering of related objects should be tied together in one part of the form. '''Specific areas for enhancement:''' * '''Adding related objects should be easier.''' Now you have to "save and continue" to get an extra set of fields to add a new related object. You should be able to click "add new object" to add another set of blank fields inline on the page. * '''Deleting related objects should be easier.''' Now you have to clear the "core fields" of a related object to delete it. You should be able to click "delete" to delete the object, or at least mark it for deletion when you click save on the main object. * '''Ordering of related objects should be clearly tied to editing those objects.''' Now the ordering interface is completely separate. You should be use the same list of objects to set the order (by dragging) or select that object for editing or deleting (by clicking). | barbuza | adrian | nfa-someday nfa-changelist | 0 | 1 | 1 | 0 | 0 | 0 |
17 | 2005-07-13 19:25:18 | 2019-12-17 11:37:56 | 2022-03-06 03:19:26.110232 | Accepted | closed | Database layer (models, ORM) | New feature | Normal | dev | wontfix | Metasystem optimization: Share select_related in memory | When using {{{select_related}}}, each cache is stored separately in memory. For example, each Choice object here has its Poll cached, but each of those caches is a separate object in memory. It would require less memory if the caches were references to the same Poll object. {{{ >>> from djangomodels.polls import choices >>> choice_list = choices.get_list(poll__id__exact=90, select_related=True) >>> id(choice_list[0]._poll_cache) -156344020 >>> id(choice_list[1]._poll_cache) -156344084 }}} | PhiR | adrian | feature caching | 0 | 1 | 1 | 0 | 1 | 0 |
25 | 2005-07-13 19:35:54 | 2013-06-02 18:10:34 | 2022-03-06 03:19:30.770423 | Accepted | closed | contrib.admin | Bug | Normal | dev | 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 |
29 | 2005-07-13 19:43:02 | 2015-11-07 09:54:25 | 2022-03-06 03:19:31.418555 | Someday/Maybe | closed | contrib.admin | Bug | Normal | dev | wontfix | Fix usability issue with limit_choices_to and "Add another" in admin | {{{ django34: We have the ability to put a customized limit/filter on which related objects get displayed in select boxes. For instance, the "photographer" field on the "Add photo" form only displays the "Staff members" that have shoots_photos=True. django34: This results in some usability problems, though, because if a producer doesn't see a person's name in the list, he might click "Add another..." instead of checking to make sure the person isn't in "Staff members" and doesn't have "shoots_photos" checked. django34: Does this make sense? wilson: kind of wilson: what page would that case appear on django34: Here's an example... django34: The "Photographer" select box includes *only* the staff members that have shoots_photos=True. django34: So if a producer doesn't see a photographer in there, he might click "Add another...", which would create an entirely new staff member. But it might be the case that the staff member DOES exist, just doesn't have shoots_photos=True checked. wilson: if the staff member did exist, would it let them add them again? django34: Yes, as long as the slug was different. django34: The only way I can think of to fix this would be to have some sort of "Showing only photographers [Show all staff members]" link. Or to eliminate the filtering altogether. wilson: i was going to suggest a "show all staff" link wilson: yes, that is my suggestion wilson: "show all staff" link next to the select wilson: then "show photographers only" when the filter is off django34: All right. }}} | nobody | adrian | 0 | 0 | 0 | 0 | 0 | 1 | |
19 | 2005-07-13 19:31:17 | 2021-05-10 19:10:04 | 2022-03-06 03:19:27.337791 | Design decision needed | closed | Validators | enhancement | minor | new-admin | wontfix | Automatically generate JavaScript form validation | Django should generate JavaScript form validation for all admin pages, in addition to the server-side validation it already does. Each FormField object already gets an HTML class of the type of field it is (e.g. "vCheckboxField", "vEmailField", "vTextField"), so we can probably build off of that. OR, we could use {{{XMLHttpRequest}}} to send each field individually and validate everything *server-side*. ====================================================== I've given some more thought to this. We could set up a view that validates a given field via XMLHttpRequest, like this: admin.6newslawrence.com/validate_field/polls/polls/question/?value=blah (The "value=blah" would be POST data, not GET data.) But here's a problem: What do we do for validators that expect all_data, i.e. the ones that validate a field according to the value of another field? We could solve that by only using dynamic JavaScript? validation to check single fields and using server-side validation for the rest -- but it's a usability problem if some validation errors appear instantly and others appear after form submission. | adrian | adrian | validators | 0 | 0 | 0 | 0 | 0 | 0 |
26 | 2005-07-13 19:36:46 | 2012-01-19 12:53:15 | 2022-03-06 03:19:30.935713 | Design decision needed | closed | contrib.admin | Uncategorized | minor | newforms-admin | wontfix | Admin validation errors cause FileUploadFields to be reset | Phil said: {{{ <pcauthon> if, say, the turnpike episode, event, etc admin kicks back with an error, you have to rebrowse to upload the pics. only really aggravating on turnpike episodes where there are 6 pics to browse for }}} JavaScript form validation could be a clean fix for this. | nobody | adrian | nfa-someday | 0 | 0 | 0 | 0 | 0 | 0 |