5

Djangoモデルで自動ID作成を無効にしたいと考えています。それは可能ですか?どうやって?Djangoで自動ID作成を無効にするにはどうすればよいですか?

+0

モデル(https://docs.djangoproject.com/en/1.8/ref/models/fields/#primary-key)で主キーを宣言してください。 IDのないモデルはサポートされていません(AFAIK) – Roba

+0

可能です。しかし、アイテムのようなユーザーのようなものを保存したいだけの場合はどうでしょうか?私はそのことのためにIDを必要としません。 –

答えて

2

返信に記載されているとおり、非AutoFieldで主キーを宣言する必要があります。たとえば:

from django.db import models 

class Person(models.Model): 
    username = CharField(primary_key=True, max_length=100) 
    first_name = CharField(null=True, blank=True, max_length=100) 

primary_key=Trueにフィールドを設定し、注意してください、自動的にそれがユニークでnullではないことができます。がんばろう!

+0

それは可能です。しかし、アイテムのようなユーザーのようなものを保存したいだけの場合はどうでしょうか?私はそのことのためにIDを必要としません。 –

+0

右のように、データベーステーブルで正規化の3番目の形式を使用しないユースケースがあるかもしれませんが、これらのテーブルをDjangoでモデルとして公開する必要がある場合は、そうする必要があります。あなたの側からの損失はほとんどない/全くありません。これらのフィールドは自動的に管理され、使用されたスペースについて主張することはほとんどありません。 – Roba

+0

データベースに表示しない限り、信頼性の向上のために最小限のオーバーヘッドが必要です。 DBに保証されたユニークなキーを持つことは、私が数えることができるよりも何年もの間、私のお尻を保存しました。 – FlipperPA

関連する問題