8

フィールドが 1 つだけのモデルがあります。名前。

class City(models.Model): <br>
    name = models.CharField(max_length=30)

Django はidそれ自体で設定するので、最終的には SQLiddescriptionフィールドになります。

しかし、そのidフィールドは常に 1 ずつインクリメントされます。1000 から開始してから、1 ずつインクリメントしたいと考えています。

Djangoでこれを行う方法はありますか?

4

2 に答える 2

3

この質問が古いことは承知していますが、検索結果でこの質問を見つけ、より最近の Django バージョン (つまり、Django >= 1.8) の適切な解決策が必要な人のために、この方法を投稿しています。

ここに記載されているように、データ移行を作成します。このソリューションは、アプリを移行するときに (そしておそらく展開戦略の一環として) 実行され、データベースの特定のニーズに対応するコードを記述できるようになります。

これは、Django >= 1.7 で自動インクリメント データベース フィールドの初期値を設定する最もクリーンな方法であると考えています。これは、標準の Django 移行を利用し、将来的に機能しない可能性のある方法でフレームワークの他の機能をハイジャックしないためです。

于 2015-11-19T03:34:07.377 に答える