目前,我有一個ItemReport
表的Django項目,每個項目每天只允許輸入1個條目。一切都很好,所有不同的是,每當它失敗的IntegrityError(即我的項目嘗試在每天創建ItemReport
當ItemReport
已經存在,對象ID增量反正如何阻止創建失敗時自動遞增表ID的Django/PSQL
例如:
September 1:
Report for September 1 (ID 1)
September 2:
Report for September 1 (ID 1)
Report for September 2 (ID 5)
模型如下:
:即得到每次運行用戶登錄的代碼class ItemReport(BaseModel):
fk_item: Item = models.ForeignKey(Item, null=False)
date = models.DateField(default=now, null=False)
class Meta:
unique_together=(('fk_item', 'date'),)
class Item(BaseModel):
item_class = models.CharField(max_length=40, null=False)
name = models.CharField(max_length=80, unique=True, null=False)
位
不要依賴於任何特定值的ID。它們應該與您的業務邏輯完全無關。 –
所以你說在邏輯中使用ID是不好的做法?我打算將它們用作確保表在服務器之間正確同步的手段。如果不是通過身份證,那麼有更好的方式來做到這一點的任何想法? – Dilisqq