Nig*_*con 3 mysql django django-models auto-increment
使用Django和MySQL.我保存模型,没有ID出现.看过PostgreSQL和bigintegerfields的一些类似问题,但这些似乎都不适用于此.有任何想法吗?客户端确实通过MySQL自动增量在数据库的id字段中接收主键.
谢谢!
class Client(models.Model):
id = models.IntegerField(primary_key=True)
first_name = models.TextField(null=True, blank=True)
last_name = models.TextField(blank=True)
>>> client = models.Client(last_name="Last", first_name="First")
>>> client.last_name
'Last'
>>> client.save()
>>> client.id
>>> client.last_name
'Last'
>>> client.id
>>> client.pk
>>>
Run Code Online (Sandbox Code Playgroud)
在数据库中:
id first_name last_name
------------------------------------------
14 First Last
Run Code Online (Sandbox Code Playgroud)
正如Rebus在评论中所说,您不需要明确定义主键.但是,如果你这样做,你必须确保它是一个自动增量字段 - 即AutoField- 不是IntegerField你所拥有的基本字段.你拥有它的方式,没有办法得到一个新的ID,这就是为什么它在保存时是空白的.