似乎列的默认值仅在 ORM 层上,实际上并未在数据库中设置默认值。同时,例如 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 迁移?我需要它,因为数据库被其他进程(例如批处理)使用,我不想在应用层强制执行诸如默认值之类的东西。