#15082: delete() does not function consistently with CharField PKs ----------------------------+----------------------------------------------- Reporter: w004dal | Owner: nobody Status: new | Milestone: Component: Core framework | Version: 1.2 Keywords: model, db | Stage: Unreviewed Has_patch: 0 | ----------------------------+----------------------------------------------- I'm working with MyISAM tables with MySQL and have the following behavior with delete() on Django 1.2.3-1 on Fedora Core 12.
class DoesWork(models.Model): mac_id = models.CharField(max_length=17) ip = models.CharField('Host/IP Address', max_length=255) class DoesNotWork(models.Model): mac_id = models.CharField(max_length=17, primary_key=True) ip = models.CharField('Host/IP Address', max_length=255) The following works as expected, creating, deleting, and putting the item back: zz = DoesWork.objects.create(mac_id='99:99:99:99:99:99', ip='127.0.0.1') zz.delete() # remove from DB zz.save() # it's back in the DB However, if I use the DoesNotWork model, whose only difference is having a CharField as a primary key: zz = DoesNotWork.objects.create(mac_id='99:99:99:99:99:99', ip='127.0.0.1') zz.delete() # remove from DB zz.save() # EXCEPTION THROWN: IntegrityError: (1048, "Column 'mac_id' cannot be null") I checked by printing out zz.__dict__, and the mac_id was 'None' with the DoesNotWork object, but was untouched with the DoesWork object. -- Ticket URL: <http://code.djangoproject.com/ticket/15082> Django <http://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.