ヘルプデスクのチケットを追跡するために使用する、私のヘルプデスク/ models.py内にカスタムprimary_keyを作成しようとしています。私は、私たちのオフィスのための小さなティッキングシステムを書いている途中です。Django内でカスタムAutoField primary_keyエントリを作成する方法
おそらくもっと良い方法がありますか?今すぐ私は持っています:
id = models.AutoField(primary_key=True)
これは、次のように日付ベースを増分します。 1、2、3、4 ... 50 ...
私はこのid割り当てをして、それを日付と名前のようないくつかの追加情報と組み合わせる関数内で使用したいと思います。 'HELPDESK '
次のように私が使っていたコードは次のとおりです。
id = models.AutoField(primary_key=True)
def build_id(self, id):
join_dates = str(datetime.now().strftime('%Y%m%d'))
return (('HELPDESK-' + join_dates) + '-' + str(id))
ticket_id = models.CharField(max_length=15, default=(build_id(None, id)))
アイデアをされているデータベース内のエントリは、になること:私は、その後にForeignKeyのようにこれを使用したい
HELPDESK-20170813-1
HELPDESK-20170813-2
HELPDESK-20170814-3
...
HELPDESK-20170901-4
...
HELPDESK-20180101-50
...
ヘルプデスクチケットをデータベースの他のモデルにリンクします。今戻って来ているもの
は次のとおりです。
HELPDESK-20170813-<django.db.models.fields.AutoField>
この投稿は動作します - Custom Auto Increment Field Djangoおさるのより良い方法があるかどうか。そうでない場合は、これで十分です。