0
Djangoのドキュメントとソースコードで、主キーフィールドのserialize=False
の理由が見つかりませんでした。それを設定する特別な理由はありますか?このフィールドはシリアライズされたオブジェクトの一部ではありません言うほど簡単ですserialize = False on Primary-keyフィールドの意味は?
おかげ
Djangoのドキュメントとソースコードで、主キーフィールドのserialize=False
の理由が見つかりませんでした。それを設定する特別な理由はありますか?このフィールドはシリアライズされたオブジェクトの一部ではありません言うほど簡単ですserialize = False on Primary-keyフィールドの意味は?
おかげ
Azd325 ..ものの
は、私があるのモデルにあなたの質問の懸念を推測します移行され、serialize = Falseで生成されたIDを持っていますか? hereのようなものです。あなたがあなたのオブジェクトの明示的なIDを宣言しないと決めたので、Djangoのエンジントリックが本来のIDを作成するため実際にはありません。
テストの追加
class Model1Test(models.Model):
justafield = models.CharField(max_length=1000)
移行が結果明示的なIDなしでモデルを作成します
を作っclass Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.CreateModel(
name='Model1Test',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('justafield', models.CharField(max_length=1000)),
],
),
]
データベースレベルのスクリプト
CREATE TABLE public.module1_model1test
(
id integer NOT NULL DEFAULT nextval('module1_model1test_id_seq'::regclass),
justafield character varying(1000) NOT NULL,
CONSTRAINT module1_model1test_pkey PRIMARY KEY (id)
)
Quassnoiからことを行うにはいくつかの理由: