Django で自動インクリメントの整数型フィールドを作るには?
2023-09-17 07:49:24
質問
私は
Order
モデルを作成していますが、注文が行われたときに自動的に増加するフィールドを作成する必要があります。
class Order(models.Model):
cart = models.ForeignKey(Cart)
add_date = models.DateTimeField(auto_now_add=True)
order_number = models.IntegerField()
enable = models.BooleanField(default=True)
どのようにすれば
IntegerField
を自動インクリメントするには?
どのように解決するのですか?
Djangoでは
1 : Django のモデルクラスは、デフォルトのフィールドとして、名前
id
という名前のフィールドがあり、これは自動インクリメントのフィールドです。
2 : 自動インクリメントのフィールドは
AutoField
フィールドを作成します。
class Order(models.Model): auto_increment_id = models.AutoField(primary_key=True) # primary_key = True は、 django がモデルに与えるデフォルトのフィールド "id" を使いたくない場合です。
db デザイン
+------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | テーブル|テーブルの作成 +------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core_order | CREATE TABLE `core_order` ( auto_increment_id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`auto_increment_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | Developers.IO +------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------+ セットで1行 (0.01秒)
django のデフォルト ID をインクリメントフィールドとして使いたい場合 .
class Order(models.Model): add_date = models.DateTimeField(auto_now_add=True)
dbデザイン
+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | テーブル|テーブルの作成 +-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+ | core_order | CREATE TABLE `core_order` ( id` int(11) NOT NULL AUTO_INCREMENT, add_date` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | Developers.IO +-------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
関連
-
[解決済み】Djangoのクエリセットフィルタリングでnot equalを行うにはどうすればよいですか?
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] Djangoのバージョンを確認する方法
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] PythonのRequestsモジュールを使ってWebサイトに "ログイン "するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] matplotlib でプロットの軸、目盛、ラベルの色を変更する方法
-
[解決済み] Flaskで非同期タスクを作る
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Python 言語を決定するには?