1

Djangoでフィールドを作成し、そのインスタンスを1つだけ作成するにはどうすればよいですか。つまり、必要なインスタンスは1つだけなので、このアイテムの複数のエントリをデータベースに保存したくありません。管理者インターフェイスでは、このアイテムのみを変更し、これの複数のインスタンスを追加しない場合があります。

4

2 に答える 2

1

DB に単一レコードを実装することは推奨されず、モデルに反します。やりたいことを実現するために、情報の保存方法を変更したい場合があります。

たとえば、このレコードを保存する場合:

SingleRecord: { field1: 'ABC', field2: 'XYZ', field3: 100 }

Key:Valueモデルを変更して、ペアをモデルに格納できます。

class MySingleRecord(models.Model):
    key = models.CharField(unique=True)
    value = models.CharField()

これにより、1つのレコードが1つだけになりますkey

これの欠点は、値の型が固定されていることです。ただし、typeモデルにフィールドを追加し、保存中に文字列に変換し、使用時に適切な型に戻すことで、値を操作できます。

于 2012-10-20T06:19:08.313 に答える
0

unique=True 引数を使用して、重複するエントリが作成されていないことをデータベースでチェックできます。

于 2012-10-20T03:39:08.300 に答える