стоит джанга 1.6.6.
Модель:
class SimpleModel(models.Model):
name = models.CharField(max_length=255)
Выполняю в консоли:
>>> from crm.models.order import SimpleModel
>>> s = SimpleModel()
>>> s.name = 'Test'
>>> s.pk
>>> s.save()
>>> s.pk
>>> 1L
все ок.
Меняю модель:
class SimpleModel(models.Model):
id = models.IntegerField(primary_key=True, db_column='Message_ID', editable=False)
name = models.CharField(max_length=255)
Перезагружаю консоль и выполняю тот же код.
>>> from crm.models.order import SimpleModel
>>> s = SimpleModel()
>>> s.name = 'Test'
>>> s.pk
>>> s.save()
>>> s.pk
>>>
То есть если использовать унаследованную БД, то после сохранения, объекту не присваивается pk и каждое сохранение модели создает новую запись в БД.
Updated 3 Sept. 2014, 13:55 by mpro.