列のデフォルト値はORMレイヤーのみにあり、実際にはDBにデフォルト値を設定していないようです。同時に、たとえば ID キーにはデータベースにデフォルトの修飾子があり、それが可能であることがわかりますが、方法はわかりませんか?
コード例:
class Host(models.Model):
name = models.CharField(max_length=255, null=False)
created_at = models.DateTimeField(default=datetime.now, blank=True)
次のテーブルを作成します。
Column | Type | Modifiers
------------+--------------------------+-------------------------------------------------------------
id | integer | not null default nextval('myapp_host_id_seq'::regclass)
name | character varying(255) | not null
created_at | timestamp with time zone | not null
モディファイアで移行を設定する方法はありdefault current_timestamp
ますか? created_at
そうでない場合、生の SQL 移行を渡す方法はありますか? データベースが他のプロセス (バッチ プロセスなど) で使用されているため、アプリケーション層でデフォルト値などを強制する必要がないため、必要です。