1
我不反对,我想Django的对象创建它的那个DB是为了填补在时间戳字段期间不插入field_3 PostgreSQL数据库表中的Django模型。化妆的Django无法插入某些领域
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'
相应的表模式
abc_table
- MODEL_ID整数NOT NULL默认
NEXTVAL('command_running_command_id _seq':: regclass的) - field_1整数空
- field_2文本不为空
- field_3时间戳没有时区默认NOW()
我想什么 - 我读了一个应调用模型.save(update_fields = [要更新的字段列表])。
class AbcModel(models.Model):
def save(self, *args, **kwargs):
u_fields = ['field_1', 'field_2']
super(CommandRunning, self).save(update_fields=u_fields)
但我得到一个异常
Cannot force an update in save() with no primary key.
如果我在update_fields包括MODEL_ID,我得到以下异常
The following fields do not exist in this model or are m2m fields: model_id
缺少什么我在这里?
为什么你需要数据库添加时间戳?你可以设置'''field_3 = models.DateTimeField(auto_now_add = True)'''添加日期,而不必担心找到解决方法?或者我错过了什么? – tdsymonds
我没有拥有数据库模式。我应该只提供一个管理界面。 Django看起来像是一个非常自然的选择,它的惊人的inspectdb命令,但它生成的模型文件需要一些修改才能真正对齐到数据库。 – comiventor