从TimeStampedTable继承时,ID自动递增

时间:2019-04-05 14:18:11

标签: python-3.x django-models django-2.0

Django 2.0.8和Azure SQL Server

我有一个TimeStampedModel,所有其他表都从其中继承了created_at和Updated_at。

看来,TimeStampedModel_PTR_ID是每个表的ID。对于插入到ANY表中的每条记录,此数字都会递增。

也就是说,

  

将一条记录插入表1中,TimeStampedModel_PTR_ID = 1

     

将300条记录插入表2

     

将一条记录插入表1中,TimeStampedModel_PTR_ID = 302

我有一张表,里面有很多记录。虽然我可能不会用完数字,但是非连续的ID困扰着我。

这是正常行为吗?

我做错了什么吗?

这是我可以纠正的吗?

我不需要像这样继承吗? (即为每个模型明确添加created_at和Updated_at)

我是否需要为每个模型显式添加一个ID,并将其标记为primary_key?

谢谢。


在SSMS中,SQL查询...

从TABLE中选择SELECT失败-没有ID字段 TABLE中的SELECT PK失败-没有PK字段

从表中选择*显示:

TIMESTAMPEDMODEL_PTR_ID NAME 439 Lorem Ipsum

(此表中只有1条记录)

Base Model

TimeStampedModel(models.Model)类:

created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)

Model that Inherits that Base Model

类组织(TimeStampedModel):

name = CharField(_("Name of Organization"), blank=True, max_length=255)
role = CharField(_("Role of Organization"), blank=True, max_length=255, choices=ORG_ROLE_CHOICES)

我希望每个模型/表都有自己的自动递增计数器。看来数据库中的所有表都有一个计数器。

0 个答案:

没有答案