我有一个针对 postgresql 数据库表的 Django 模型,我希望 Django 在对象创建期间不要插入 field_3 作为 DB 应该填写的时间戳字段。
class AbcModel:
model_id = models.AutoField(primary_key=True)
field_1 = models.BigIntegerField()
field_2 = models.TextField()
field_3 = models.DateTimeField(blank=True, null=True)
class Meta:
managed = False
db_table = 'abc_table'
Run Code Online (Sandbox Code Playgroud)
对应的表模式
abc_table
我试过的 - 我读到应该调用 Model.save(update_fields=[list of fields to be updated])。
class AbcModel(models.Model):
def save(self, *args, **kwargs):
u_fields = ['field_1', 'field_2']
super(CommandRunning, self).save(update_fields=u_fields)
Run Code Online (Sandbox Code Playgroud)
但我得到一个例外
Cannot force an update in save() with no primary key.
Run Code Online (Sandbox Code Playgroud)
如果我在 update_fields …