Code

Opened 9 years ago

Closed 9 years ago

Last modified 7 years ago

#320 closed defect (fixed)

After completing Tutorial 2, there appears to be a bug in the foreign key related default admin code

Reported by: ssteiner Owned by: adrian
Component: contrib.admin Version: 1.0
Severity: major Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

When I've gotten through the tutorial and have the Poll/Choice window
working with the Poll above and the choices below, I see what looks to me like a big bug.

Pressing "Save and continue editing" adds a new Poll with the exact
same Question but a new ID. When the screen refreshes, the Choices
section is empty since we're now looking at the new, erroneously
created Poll.

I'm using MySQL if that's important.

Attachments (0)

Change History (8)

comment:1 Changed 9 years ago by adrian

Try updating your Django code and giving it another shot.

comment:2 Changed 9 years ago by ssteiner

I refreshed from SVN to version 494 (from 493) and am experiencing exactly the same problem.

comment:3 Changed 9 years ago by adrian

Give revision [497] a shot and report back, if you could. :)

comment:4 Changed 9 years ago by ssteiner

Identical behaviour.

comment:5 Changed 9 years ago by jbennett@…

I'm seeing the same problem on a weblog model I'm building; entries have comments which are related to them via a ForeignKey, and editing an existing entry instead creates a new one. Even worse, it doesn't seem to be doing any validation when it creates the new entry, because it's violating a unique_for_date requirement on various metadata. I'm on revision 494 (will update in a moment and see if it persists), using MySQL 4.0.23.

comment:6 Changed 9 years ago by ssteiner

Ticket 323 seems to be a simplification of this issue though the validation issue is, obviously, separate.

comment:7 Changed 9 years ago by adrian

  • Status changed from new to assigned

#323 is indeed a duplicate. I've added a unit test for this in [506].

comment:8 Changed 9 years ago by adrian

  • Resolution set to fixed
  • Status changed from assigned to closed

(In [507]) Fixed #320 -- Changed save() code so that it doesn't rely on cursor.rowcount. MySQLdb sets cursor.rowcount to 0 in an UPDATE statement even if the record already exists. Now save() does a SELECT query to find out whether a record with the primary key already exists.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
as The resolution will be set. Next status will be 'closed'
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.