django同步db问题

Hul*_*ulk 2 python django django-models

在django模型中说这个模型存在于details/models.py中

    class OccDetails(models.Model):
       title = models.CharField(max_length = 255)
       occ = models.ForeignKey(Occ)
Run Code Online (Sandbox Code Playgroud)

因此,在创建同步数据库时,将创建以下字段

然后添加两个以上的字段,并且同步db使新的字段不被创建.如何解决这个问题,以下是什么是auto_now = true

这些都是新的领域

         created_date = models.DateTimeField(auto_now_add=True)
         modified_date = models.DateTimeField(auto_now_add=True, auto_now=True)
Run Code Online (Sandbox Code Playgroud)

Ama*_*osh 7

syncdb为INSTALLED_APPS中尚未创建表的所有应用程序创建数据库表.

Syncdb不会更改现有表,
syncdb只会为尚未安装的模型创建表.它永远不会发出ALTER TABLE语句来匹配安装后对模型类所做的更改.对模型类和数据库模式的更改通常涉及某种形式的歧义,在这些情况下,Django必须猜测要进行的正确更改.存在关键数据在此过程中丢失的风险.

你也可以

  • 发出手动ALTER TABLE命令
  • DROP TABLE 特定的表(将丢失数据)并再次运行syncdb
  • 运行django-admin sqlclear获取sql语句列表以清除整个数据库并运行这些命令(将刷新数据库 - 您将丢失所有现有数据)或

DateField.auto_now:NOW()每次保存对象时自动设置字段.对"最后修改"的时间戳有用.请注意,始终使用当前日期; 它不仅仅是您可以覆盖的默认值.

因此,modified_date每次调用时,列都会自动更新object.save()