Opened 15 years ago
Closed 9 years ago
#11523 closed Bug (wontfix)
ORM/MySQL backend doesn't set pk when Warning exception is raised
Reported by: | Tomasz Zieliński | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Link to the discussion:
http://groups.google.com/group/django-users/browse_thread/thread/7c726fe6531abaaf
Code:
from MySQLdb import Warning as Warning from django.db import models import unittest class TestModel(models.Model): char_field = models.CharField(max_length=5) class Case1(unittest.TestCase): def test1(self): print "Count 1:", TestModel.objects.count() m = TestModel(char_field="123456") try: m.save() except Warning: print "Count 2:", TestModel.objects.count() print "m.id=", m.id print "all()[0].id=", TestModel.objects.all()[0].id
The above code prints:
Count 1: 0 Count 2: 1 m.id= None all()[0].id= 1
- which means to me that although m is saved to db, primary key is not set in m.pk after m.save().
If you look into newsgroups thread above, it seems that MySQLdb returns pk properly.
Change History (5)
comment:1 by , 15 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:2 by , 14 years ago
Severity: | → Normal |
---|---|
Type: | → Bug |
comment:3 by , 13 years ago
UI/UX: | unset |
---|
comment:5 by , 9 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
As of #23871, Django no longer promotes warnings to exceptions, so I think this issue is obsolete.
Note:
See TracTickets
for help on using tickets.
Change UI/UX from NULL to False.