tickets
28 rows where "created" is on date 2008-08-20 sorted by easy
This data as json, CSV (advanced)
Suggested facets: version, resolution, description, owner, reporter, keywords, has_patch, needs_tests, changetime (date)
summary 27 ✖
- WCXGCbXP 2
- Admin interface fills the harddrive on uploading files of roughly 2.5MBs in size 1
- Broken image links in Tutorial part 2. 1
- Change forms default auto_id='id-%s' 1
- Collapse Tabular Inline 1
- Dead Link - v0.96 1
- Document formset's `prefix` argument. 1
- Error in filter "timesince" 1
- Feature Request: distinct_between('team_home', 'team_away') similar to unique_together 1
- Fix URL in e-mails sent out by password reset 1
- Lack of filesystem permissions to save uploaded file results in server hang 1
- Model inheritance - inherited model could use some fields cleanup 1
- Q objects still incorrectly choosing inner join over outer join 1
- Silent crash in forms rendering 1
- SlugField validator not working in new admin 1
- Swapped French translations for 'AM' and 'PM' 1
- Update of Georgian translation (ka) 1
- [8443] broke tests 1
- adding own commands to manage.py not working correctly 1
- czech translation update 1
- expire time in session being updated frequently 1
- get_or_create does not pay attention to the instance calling it 1
- manage.py reset crashes running initial SQL if there's a #comment on the same line as valid SQL 1
- porting guide - 0.96 to 1.0 1
- typo in sessions file backend can cause NameError 1
- uploaded file permissions vary based on handler 1
- with change in behavior to MultiValueDict.iteritems, there should be a MultiValueDict.iterlists 1
stage 5 ✖
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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8434 | 2008-08-20 00:45:41 | 2011-09-28 16:12:17 | 2022-03-06 03:42:15.670375 | Ready for checkin | closed | Internationalization | dev | fixed | [8443] broke tests | Tested on r8445, Debian Etch, Python 2.4.4 {{{ ====================================================================== FAIL: Doctest: regressiontests.forms.tests.__test__.localflavor_nl_tests ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/django/test/_doctest.py", line 2180, in runTest raise self.failureException(self.format_failure(new.getvalue())) AssertionError: Failed doctest test for regressiontests.forms.tests.__test__.localflavor_nl_tests File "/srv/lib/django-trunk/tests/regressiontests/forms/tests.py", line unknown line number, in localflavor_nl_tests ---------------------------------------------------------------------- File "/srv/lib/django-trunk/tests/regressiontests/forms/tests.py", line ?, in regressiontests.forms.tests.__test__.localflavor_nl_tests Failed example: s.render('provinces', 'OV') Expected: u'<select name="provinces">\n<option value="DR">Drente</option>\n<option value="FL">Flevoland</option>\n<option value="FR">Friesland</option>\n<option value="GL">Gelderland</option>\n<option value="GR">Groningen</option>\n<option value="LB">Limburg</option>\n<option value="NB">Noord-Brabant</option>\n<option value="NH">Noord-Holland</option>\n<option value="OV" selected="selected">Overijssel</option>\n<option value="UT">Utrecht</option>\n<option value="ZE">Zeeland</option>\n<option value="ZH">Zuid-Holland</option>\n</select>' Got: u'<select name="provinces">\n<option value="DR">Drenthe</option>\n<option value="FL">Flevoland</option>\n<option value="FR">Friesland</option>\n<option value="GL">Gelderland</option>\n<option value="GR">Groningen</option>\n<option value="LB">Limburg</option>\n<option value="NB">Noord-Brabant</option>\n<option value="NH">Noord-Holland</option>\n<option value="OV" selected="selected">Overijssel</option>\n<option value="UT">Utrecht</option>\n<option value="ZE">Zeeland</option>\n<option value="ZH">Zuid-Holland</option>\n</select>' -------… | jarrow | jarrow | 0 | 1 | 0 | 0 | 0 | 0 | |||
8435 | 2008-08-20 01:45:18 | 2011-09-28 16:12:17 | 2022-03-06 03:42:15.830881 | Accepted | closed | Documentation | 1.0-alpha-2 | fixed | Document formset's `prefix` argument. | ''See Brian's comment; this is a doc issue. Original report follows -- JKM'' As of this moment one is able to utilize multiple formsets within a single view, as long as one does not use the same variable name for the fields in the respective forms. But this breaks down on the template level, specifically the management_form portion of formsets. The variables form-TOTAL_FORMS and form-INITIAL_FORMS are shared for all formsets when you include each formset's management_form in the template: {{ formset.management_form }}. The problem isn't immediately apparent since the template will render correctly due to the fact that you call the management_form for each formset, thus in turn over-writing the variables form-TOTAL_FORMS and form-INITIAL_FORMS each time you do. The trouble begins when you start processing the request.POST data. Let's say you have 2 formsets displayed in a template, the first one you configure with 4 fields and the second with 2 fields. When you then process the POST data in the view by calling "for form in formset1.forms" it will only iterate 2 times oppose to the 4 times one would initially expect, all due to the fact that formset2's management_form has now over-written the form-TOTAL_FORMS variable; thus you lose whatever data was submitted in the remaining 2 fields in formset1. | nobody | takkun | formsets | 0 | 0 | 0 | 0 | 0 | 0 | ||
8436 | 2008-08-20 02:42:18 | 2011-09-28 16:12:17 | 2022-03-06 03:42:16.008553 | Accepted | closed | Forms | dev | invalid | Silent crash in forms rendering | Given form as follows, as_table crashes I expect this has to do with collisions to properties of Form and variations of problems will probably happen with (errors, changed_data, media) {{{ #!python class TestForm(forms.ModelForm): errors = forms.CharField(widget=forms.HiddenInput) class Meta: model = MyModel }}} Stack trace {{{ c:\django\django\forms\forms.py in as_table(self) 175 def as_table(self): 176 "Returns this form rendered as HTML <tr>s -- excluding the <table></table>." --> 177 return self._html_output(u'<tr><th>%(label)s</th><td>%(errors)s%(field)s%(help_text)s</td></tr>', u'<tr><td colsp "2">%s</td></tr>', '</td></tr>', u'<br />%s', False) 178 179 def as_ul(self): c:\django\django\forms\forms.py in _html_output(self, normal_row, error_row, row_ender, help_text_html, errors_on_separate_row) 131 def _html_output(self, normal_row, error_row, row_ender, help_text_html, errors_on_separate_row): 132 "Helper function for outputting HTML. Used by as_table(), as_ul(), as_p()." --> 133 top_errors = self.non_field_errors() # Errors that should be displayed above all fields. 134 output, hidden_fields = [], [] 135 for name, field in self.fields.items(): c:\django\django\forms\forms.py in non_field_errors(self) 191 are none. 192 """ --> 193 return self.errors.get(NON_FIELD_ERRORS, self.error_class()) 194 195 def full_clean(self): AttributeError: 'CharField' object has no attribute 'get' }}} | nobody | stilldodge | errors, Form | 0 | 0 | 0 | 0 | 0 | 0 | ||
8437 | 2008-08-20 05:36:43 | 2012-01-07 20:37:39 | 2022-03-06 03:42:16.176245 | Design decision needed | closed | Database layer (models, ORM) | New feature | Normal | dev | wontfix | Feature Request: distinct_between('team_home', 'team_away') similar to unique_together | {{{ class Game(models.Model): team_home = models.ForeignKey(Team, related_name="games_home") team_away = models.ForeignKey(Team, related_name="games_away") class Meta: distinct_between = ('team_home', 'team_away') }}} "distinct_between" should add this constraint to the database: {{{ CHECK(team_home IS DISTINCT FROM team_away) }}} | nobody | ritlim | 0 | 0 | 0 | 0 | 0 | 0 | |
8438 | 2008-08-20 05:45:44 | 2011-09-28 16:12:17 | 2022-03-06 03:42:16.368923 | Accepted | closed | Documentation | dev | fixed | porting guide - 0.96 to 1.0 | The porting guide needs to basically cover everything in BackwardsIncompatibleChanges, with before/after code samples for each item and detailed upgrade info. The idea should be that someone can start with an 0.96 site and read through the checklist in order, making changes, and finish with a 1.0 site. | anonymous | daonb <bennydaon@gmail.com> | porting | 0 | 1 | 0 | 0 | 0 | 0 | ||
8439 | 2008-08-20 05:58:53 | 2011-09-28 16:12:17 | 2022-03-06 03:42:16.536345 | Accepted | closed | Database layer (models, ORM) | dev | fixed | Q objects still incorrectly choosing inner join over outer join | I am basically reopening #3592 with an example that is broken in the latest SVN. I am using SVN r8445. Here are my test models: {{{ class Enemy(models.Model): pass class Troop(models.Model): pass class Soldier(models.Model): troop = models.ForeignKey(Troop) class TroopKill(models.Model): enemy = models.ForeignKey(Enemy) troop = models.ForeignKey(Troop) class SoldierKill(models.Model): enemy = models.ForeignKey(Enemy) soldier = models.ForeignKey(Soldier) grenade = models.BooleanField() }}} I want to find all enemies that were killed either by my soldier, or by the troop my soldier is in. So I execute the following query: {{{ direct_kills = Q(soldierkill__soldier__pk=1) troop_kills = Q(troopkill__troop__soldier__pk=1) all_kills = direct_kills | troop_kills print Enemy.objects.filter(all_kills).all() }}} And I get the correct SQL: {{{ SELECT "enemy"."id" FROM "enemy" LEFT OUTER JOIN "soldierkill" ON ("enemy"."id" = "soldierkill"."enemy_id") LEFT OUTER JOIN "troopkill" ON ("enemy"."id" = "troopkill"."enemy_id") LEFT OUTER JOIN "troop" ON ("troopkill"."troop_id" = "troop"."id") LEFT OUTER JOIN "soldier" T6 ON ("troop"."id" = T6."troop_id") WHERE ("soldierkill"."soldier_id" = 1 OR T6."id" = 1 ) }}} But when I try to add just one more condition (the direct kill had to have grenade=True): {{{ direct_kills = Q(soldierkill__soldier__pk=1,soldierkill__grenade=True) troop_kills = Q(troopkill__troop__soldier__pk=1) all_kills = direct_kills | troop_kills print Enemy.objects.filter(all_kills).all() }}} It switches incorrectly to inner joins. {{{ SELECT "enemy"."id" FROM "enemy" INNER JOIN "soldierkill" ON ("enemy"."id" = "soldierkill"."enemy_id") INNER JOIN "troopkill" ON ("enemy"."id" = "troopkill"."enemy_id") INNER JOIN "troop" ON ("troopkill"."troop_id" = "troop"."id") INNER JOIN "soldier" T6 ON ("troop"."id" = T6."troop_id") WHERE (("soldierkill"."grenade" = true AND "soldierkill"."soldier_id" =… | mtredinnick | mikemintz | 1.0-blocker | 0 | 0 | 0 | 0 | 0 | 0 | ||
8440 | 2008-08-20 07:19:26 | 2009-02-25 19:51:44 | 2022-03-06 03:42:16.714183 | Unreviewed | closed | Forms | dev | invalid | Change forms default auto_id='id-%s' | Hey all, I don't think that the default auto_id for form fields is compatible with CSS1, since it starts with "id_". A la http://www.w3.org/TR/REC-CSS1#appendix-b: {{{ unicode \\[0-9a-f]{1,4} latin1 [¡-ÿ] escape {unicode}|\\[ -~¡-ÿ] stringchar {escape}|{latin1}|[ !#$%&(-~] nmstrt [a-z]|{latin1}|{escape} nmchar [-a-z0-9]|{latin1}|{escape} ident {nmstrt}{nmchar}* name {nmchar}+ }}} I believe it's a real simple patch (attached), but I haven't tested it rigorously. Cheers, Chris | cdleary | cdleary@gmail.com | 0 | 1 | 0 | 0 | 0 | 0 | |||
8441 | 2008-08-20 09:19:54 | 2011-09-28 16:12:17 | 2022-03-06 03:42:16.872568 | Unreviewed | closed | Uncategorized | dev | invalid | WCXGCbXP | wVZOrl <a href="http://cllbtjfdryii.com/">cllbtjfdryii</a>, [url=http://urmmpnhrgeii.com/]urmmpnhrgeii[/url], [link=http://shwkzlsmziby.com/]shwkzlsmziby[/link], http://nessrxgnjqjy.com/ | nobody | anonymous | spam | 0 | 0 | 0 | 0 | 0 | 0 | ||
8442 | 2008-08-20 09:19:57 | 2011-09-28 16:12:17 | 2022-03-06 03:42:17.056387 | Unreviewed | closed | Uncategorized | dev | invalid | WCXGCbXP | wVZOrl <a href="http://cllbtjfdryii.com/">cllbtjfdryii</a>, [url=http://urmmpnhrgeii.com/]urmmpnhrgeii[/url], [link=http://shwkzlsmziby.com/]shwkzlsmziby[/link], http://nessrxgnjqjy.com/ | nobody | anonymous | spam | 0 | 0 | 0 | 0 | 0 | 0 | ||
8443 | 2008-08-20 09:43:06 | 2008-08-20 17:47:16 | 2022-03-06 03:42:17.219816 | Unreviewed | closed | *.djangoproject.com | 0.96 | wontfix | Dead Link - v0.96 | From the page http://www.djangoproject.com/documentation/0.96/url_dispatch/, there's a link to syndication at http://www.djangoproject.com/documentation/0.96/syndication/, which returns a 404. | nobody | awatkins | 0 | 0 | 0 | 0 | 0 | 0 | |||
8444 | 2008-08-20 09:58:45 | 2008-08-20 13:58:57 | 2022-03-06 03:42:17.382796 | Unreviewed | closed | Core (Other) | dev | invalid | Model inheritance - inherited model could use some fields cleanup | This is not important, just a little strange (IMHO). I have following scenario: {{{ class Question(models.Model): ... class UserQuestion(Question): ... class WebQuestion(Question): ... >>> q = Question.objects.all()[0] >>> dir(q) [... 'userquestion', ..., 'webquestion'] - OK }}} {{{ >>> dir(q.userquestion) [...'userquestion', ..., 'question_ptr', 'question_ptr_id', ..., 'webquestion'] }}} Two issues: - Why to have userquestion again? - this looks odd: {{{ >>> q.userquestion.userquestion }}} - Is it possible to have model instance which has multiple inheritance (one question is userquestion and webquestion in the same time)? - if not why to have webquestion? | nobody | trebor74hr | model inheritance | 0 | 0 | 0 | 0 | 0 | 0 | ||
8445 | 2008-08-20 11:00:53 | 2008-08-22 17:36:20 | 2022-03-06 03:42:17.533052 | Ready for checkin | closed | Translations | dev | fixed | czech translation update | This patch translates all new strings. Everything except django.contrib.humanize and django.contrib.localflavor should be translated. I also realize than I am three times between authors. This patch removes two of these three occurrences. | mtredinnick | Petr Marhoun <petr.marhoun@gmail.com> | 0 | 1 | 0 | 0 | 0 | 0 | |||
8446 | 2008-08-20 13:49:26 | 2011-09-28 16:12:17 | 2022-03-06 03:42:17.707900 | Ready for checkin | closed | Translations | dev | fixed | Swapped French translations for 'AM' and 'PM' | nobody | steadicat | fr | 0 | 1 | 0 | 0 | 0 | 0 | |||
8447 | 2008-08-20 14:19:05 | 2011-09-28 16:12:21 | 2022-03-06 03:42:17.914089 | Ready for checkin | closed | Core (Other) | dev | fixed | with change in behavior to MultiValueDict.iteritems, there should be a MultiValueDict.iterlists | Changeset [8399] changed the value of MultiValueDict's iteritems to return singular items instead of lists (closing #7331) and some people may depend on the ability to iterate over the lists. There is already a lists() method that is the analog of items(), it seems reasonable that there should be an equivalent iterlists() method that simply does what iteritems() used to do. related django-developers discussion: http://groups.google.com/group/django-developers/browse_thread/thread/cb99e60e7ed86386 | jamesturk | jamesturk | multivaluedict | 0 | 1 | 0 | 0 | 0 | 0 | ||
8448 | 2008-08-20 14:22:25 | 2012-01-09 11:21:56 | 2022-03-06 03:42:18.128844 | Unreviewed | closed | contrib.admin | Uncategorized | Normal | dev | duplicate | Collapse Tabular Inline | Currently, to use the colapse feature in Tabular Inline, I customize the template tabular.html, but it would not be possible to add a parameter in the admin.TabularInline class to do this thing? | nobody | mdpetry | inline | 0 | 0 | 0 | 0 | 0 | 0 |
8449 | 2008-08-20 15:39:48 | 2011-09-28 16:12:17 | 2022-03-06 03:42:18.324596 | Accepted | closed | contrib.admin | dev | duplicate | SlugField validator not working in new admin | The new admin app is allowing invalid characters in SlugFields. I tested with this model: {{{ # models.py from django.db import models class SlugModel(models.Model): slug = models.SlugField() }}} {{{ # admin.py from django.contrib import admin from models import SlugModel class SlugModelAdmin(admin.ModelAdmin): pass admin.site.register(SlugModel, SlugModelAdmin) }}} In the admin, I tested the following: 1. hello world 2. slug%fest 3. pirate&bay Each one is saved successfully. A validation error does not appear. Tested in SVN 8441. | nobody | lingrlongr | slug | 0 | 0 | 0 | 0 | 0 | 0 | ||
8450 | 2008-08-20 15:51:47 | 2011-09-28 16:12:17 | 2022-03-06 03:42:18.503808 | Unreviewed | closed | contrib.admin | dev | duplicate | Admin interface fills the harddrive on uploading files of roughly 2.5MBs in size | When using admin interface on a model that has FileField and trying to upload files of roughly 2.5MBs django gets into a loop (I've checked on Windows XP SP2 only for now), saving the file over and over again (adding underscore on every iteration), never stopping. I haven't been able to determine the exact file size though, but 2.5MBs seems to work in all cases. Unfortunately I don't know django well enough to determine if this problem exists outside of admin interface. I can't find where exactly it is looping like that either (if you can hint me of some way it would be greatly appreciated). :( I'm attaching a sample project that reproduces the problem. Inside you will find a bigfile.py that when executed creates a zero-filled bigfile.dat file. Run manage.py syncdb and manage.py runserver then navigate to http://localhost:8000/admin/main/myfile/add/ and try attaching bigfile.dat. On my machine it starts filling myfile subdirectory with multitudes of bigfile.dat copies. All of the files saved there are identical to bigfile.dat, so it must be saving it correctly, but then it aborts and tries saving it again. If the file is, for example, 1KB smaller then everything goes fine. I'm testing using trunk revision 8448. | nobody | snaury | 0 | 0 | 0 | 0 | 0 | 0 | |||
8451 | 2008-08-20 15:52:48 | 2011-09-28 16:12:17 | 2022-03-06 03:42:18.666168 | Unreviewed | closed | contrib.auth | dev | duplicate | Fix URL in e-mails sent out by password reset | The authentication framework as a built in view (django.contrib.auth.views.password_reset) and form (django.contrib.auth.forms.PasswordResetForm) which send a user an e-mail inviting them to reset their password. The e-mail assumes that the view 'django.contrib.auth.views.password_reset_confirm' will be at "{{ protocol }}://{{ domain }}/reset/{{ uid }}-{{ token }}/", whereas in fact it might be anywhere. This patch calls reverse() to generate the correct URL for the e-mail. | nobody | Richard Davies <richard.davies@elastichosts.com> | 0 | 1 | 0 | 0 | 0 | 0 | |||
8452 | 2008-08-20 15:56:21 | 2008-08-20 16:36:42 | 2022-03-06 03:42:18.826219 | Unreviewed | closed | contrib.sessions | 1.0-alpha-2 | invalid | expire time in session being updated frequently | We noticed that one of our user's session info in django_session has it's expire date moved into the future periodically. We are not calling set_expiry() on the session. My understanding was that the expire date was a constant for a given session key -- it is set when the session is created and never changes unless set_expiry() is called. While reading through the Django Sessions docs, though, I noticed this bit: {{{ To change this default behavior, set the SESSION_SAVE_EVERY_REQUEST setting to True. If SESSION_SAVE_EVERY_REQUEST is True, Django will save the session to the database on every single request. Note that the session cookie is only sent when a session has been created or modified. If SESSION_SAVE_EVERY_REQUEST is True, the session cookie will be sent on every request. Similarly, the expires part of a session cookie is updated each time the session cookie is sent. }}} Does this mean that the cookie is sent whenever the session data changes and that this triggers the expiration date to move forward? If so, why is that? It seems that's the wrong behavior since I would think the expiration of someone's remembered login etc would have nothing to do with when the session data was last updated. | nobody | TP | 0 | 0 | 0 | 0 | 0 | 0 | |||
8453 | 2008-08-20 17:13:10 | 2011-09-28 16:12:17 | 2022-03-06 03:42:18.988880 | Accepted | closed | Template system | 1.0-beta | duplicate | Error in filter "timesince" | {{{ #!python def timesince(value, arg=None): """Formats a date as the time since that date (i.e. "4 days, 6 hours").""" from django.utils.timesince import timesince if not value: return u'' if arg: return timesince(arg, value) return timesince(value) timesince.is_safe = False }}} It should be "return timesince(value, arg)" | jheasly | carlou | timesince | 0 | 0 | 0 | 1 | 0 | 0 | ||
8454 | 2008-08-20 19:08:11 | 2011-09-28 16:12:17 | 2022-03-06 03:42:19.148943 | Accepted | closed | File uploads/storage | dev | fixed | uploaded file permissions vary based on handler | As mentioned a few times in #2070, uploaded files large enough to be streamed to a temporary file get created with a mode of 0600, as per python's [http://docs.python.org/lib/module-tempfile.html tempfile.mkstemp]. This causes two problems: 1. Files uploaded into memory and saved to disk respect the umask, so uploads could have different permissions based on how big they are. 2. If the webserver user and django user do not match (such as when running an external FastCGI process), the webserver can no longer serve uploaded files. Attached is a patch that implements a `FILE_UPLOAD_PERMISSIONS` setting. Right now, it defaults to the current behavior (leaving the permissions alone). Discussion (or lack thereof) here: http://groups.google.com/group/django-developers/browse_frm/thread/e7d7ca62b9f6d331 The inconsistency seems like a bug to me, so marking as 1.0. | nobody | dcwatson | file upload permission mode | 0 | 1 | 0 | 0 | 0 | 0 | ||
8455 | 2008-08-20 19:34:26 | 2011-09-28 16:12:17 | 2022-03-06 03:42:19.319810 | Accepted | closed | File uploads/storage | dev | fixed | Lack of filesystem permissions to save uploaded file results in server hang | If the web server user does not have filesystem permissions to write to the "upload_to" directory of a FileField or ImageField, attempting to upload a file results in the server process hanging and eating 100% CPU. Instead, there should be a 500 error or debug page with a sensible error message. This issue seems to exist ever since file-storage-refactor. I can replicate it on both the Django development server and Apache 2.2 on Debian Linux. I believe the problem is that django.core.file.storage.FileSystemStorage._save() makes unwarranted assumptions about the reason for an OSError, causing an infinite loop, as outlined by rajeshdhawan in [http://code.djangoproject.com/ticket/8203#comment:7 this comment] on #8203. | nobody | carljm | 0 | 1 | 0 | 0 | 0 | 0 | |||
8456 | 2008-08-20 19:49:47 | 2011-09-28 16:12:17 | 2022-03-06 03:42:19.475061 | Unreviewed | closed | Translations | dev | fixed | Update of Georgian translation (ka) | Some missing phrases translated and Localflavour transliterated to Georgian | nobody | avsd | ka georgian | 0 | 1 | 0 | 0 | 0 | 0 | ||
8457 | 2008-08-20 20:25:49 | 2011-09-28 16:12:17 | 2022-03-06 03:42:19.640586 | Unreviewed | closed | Uncategorized | dev | fixed | typo in sessions file backend can cause NameError | In django/contrib/sessions/backends/file.py, SessionStore.save() refers to "errno.EEXIST" when it means "os.errno.EEXIST". If using the file session backend and set SESSION_FILE_PATH to an unwritable directory (or if there is any other error condition on creating a new session file), this causes a NameError to be raised instead of the correct OSError. It also prevents the correct handling of the (rare) case of a duplicate session ID being generated. Attached patch fixes the typo. | nobody | carljm | 0 | 1 | 0 | 0 | 0 | 0 | |||
8458 | 2008-08-20 22:20:44 | 2011-09-28 16:12:17 | 2022-03-06 03:42:19.804987 | Accepted | closed | Core (Management commands) | dev | worksforme | adding own commands to manage.py not working correctly | I tried to add my own commands as described in http://www.djangoproject.com/documentation/django-admin/ but it did not find my commands. I did some research and found a problem. lets assume I have {{{ INSTALLED_APPS = ( 'proj.app' ) }}} and call manage.py from the /var/www/proj folder it looks for the "management" class in /var/www/proj/proj/app/management I added {{{sys.path = ['..']+sys.path}}} to {{{"django\core\management\__init__.py"}}} as a local fix and it worked after that. | nobody | dafire | 0 | 0 | 0 | 0 | 0 | 0 | |||
8459 | 2008-08-20 22:34:19 | 2011-09-28 16:12:17 | 2022-03-06 03:42:19.951549 | Design decision needed | closed | Database layer (models, ORM) | dev | fixed | get_or_create does not pay attention to the instance calling it | get_or_create can be confusing to use because it doesn't pay attention to the object that is actually calling it. For example when calling {{{forumpost.participant_set.get_or_create(user=person)}}} it would make sense that get_or_create is referencing participant_set that is calling it and therefore would create a new entry to that result set if it doesn't exist. However, this is not the case. get_or_create merely uses participant_set to determine the type of object it is dealing with. | nobody | mymmaster | get_or_create aug22sprint | 0 | 0 | 0 | 0 | 0 | 0 | ||
8460 | 2008-08-20 22:54:34 | 2008-08-23 01:10:47 | 2022-03-06 03:42:20.105774 | Unreviewed | closed | Documentation | dev | duplicate | Broken image links in Tutorial part 2. | Some of images linked in tutorial part 2 didn't exist on the server: file [http://code.djangoproject.com/browser/django/trunk/docs/tutorial02.txt tutorial02.txt] line 75 {{{ .. image:: http://media.djangoproject.com/img/doc/tutorial-trunk/admin01.png}}} [[BR]] line 86 {{{ :target: http://media.djangoproject.com/img/doc/tutorial-trunk/admin02.png}}} [[BR]] line 118 {{{ :target: http://media.djangoproject.com/img/doc/tutorial-trunk/admin03.png}}} [[BR]] line 126 and 312{{{ :target: http://media.djangoproject.com/img/doc/tutorial-trunk/admin04.png}}} [[BR]] I attach images that can be usefull. | nobody | prmtl | 0 | 1 | 0 | 0 | 0 | 0 | |||
8461 | 2008-08-20 23:14:11 | 2008-08-20 23:27:22 | 2022-03-06 03:42:20.249001 | Someday/Maybe | closed | Core (Management commands) | dev | wontfix | manage.py reset crashes running initial SQL if there's a #comment on the same line as valid SQL | manage.py reset can run initial SQL. If this SQL has valid SQL at the start, followed by a # comment, then it will fail with {{{_mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you can't run this command now")}}} It fails because the regex in sql.py doesn't check for '# comment' when parsing the SQL file. '# comment' is valid in (at least) MySQL. | nobody | niccl | 0 | 1 | 0 | 0 | 0 | 0 |
Advanced export
JSON shape: default, array, newline-delimited, object
CREATE TABLE tickets ( id int primary key, created datetime, changetime datetime, last_pulled_from_trac datetime, stage text, status text, component text, type text, severity text, version text, resolution text, summary text, description text, owner text, reporter text, keywords text, easy boolean, has_patch boolean, needs_better_patch boolean, needs_tests boolean, needs_docs boolean, ui_ux boolean );