1
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 INTEGER NOT NULLデフォルト
NEXTVAL( 'command_running_command_id _seq ':: regclassデータ) - FIELD_1整数ではない私が試した何今の時間帯のデフォルトなしヌル
- field_2テキストnullでない
- field_3タイムスタンプ()
- 私は1つのモデルを呼び出す必要があることを読んで.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)
しかし、私はupdate_fieldsにMODEL_ID含まれている場合、私は例外
Cannot force an update in save() with no primary key.
を取得するには、私は例外
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