現在、DjangoプロジェクトにはItemReport
テーブルがあり、アイテムごとに1回のエントリしか許可されていません。すべてがすなわち私のプロジェクトはItemReport
はすでにとにかく、オブジェクトID単位が存在する日にItemReport
を作成しようとしました(それはIntegrityErrorで失敗したときにことを除いて罰金とすべてである作成失敗時にDjango/PSQLの自動インクリメントテーブルIDを停止する方法
たとえば:。
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を使うのは悪い習慣だと言っていますか?私は、テーブルがサーバー間で正しく同期されていることを確認する手段として、これらを使用するつもりでした。 IDでなければ、これを行うための良いアイデアは何ですか? – Dilisqq