user2800374
user2800374

Reputation: 13

Django - executing queries in save method

The following code:

>>> from mainapp.models import ServerType
>>> server_type = ServerType()
>>> server_type.name = 'Origin'
>>> server_type.save()
>>> server_type.id
4L

generates mysql log:

SET NAMES utf8
set autocommit=0
SET SQL_AUTO_IS_NULL = 0
INSERT INTO `ServerType` (`name`, `description`) VALUES ('Origin', '')
commit

How does django know the new id without extra select statement?

django=1.4

mysql=5.1

Upvotes: 1

Views: 86

Answers (1)

Daniel Roseman
Daniel Roseman

Reputation: 599480

The database adapter always responds with the new primary key on an insert statement. No extra queries required.

Upvotes: 2

Related Questions