1

モデルに次のフィールドを作成しました。

numero_str = models.AutoField(primary_key=True, unique=True, default = 0)

デフォルト値は AutoField の自動インクリメントを無効にしているようですが、それを削除すると、フィールドを null にすることはできないというエラーが表示されます。私が理解していないのは、オートフィールドとして宣言した場合、連続した整数を自動的に生成することになっていないのでしょうか? または、アイテムを保存するときに何かを宣言する必要がありますか?

具体的に言うと、私のアプリは基本的に、電子メールで送信され、データベースに保存されるフォームです。送信時にエラーが発生します(デフォルト値を取り出した場合)。それは言います:

IntegrityError at /solicitacaodetreinamento/

str_solicitacao.numero_str may not be NULL
4

1 に答える 1

1

私は解決策を見つけました:DBファイルとSouthのすべての移行(Initialを含む)を削除しました。次に、データベースを再作成し、移行を行いました。今回は、デフォルトの主キー、つまり「id」を使用します。私の場合は、実際のデータがまったくないため(本番環境ではありません)、より簡単でした。それ以外の場合は、データをエクスポートし、データベースを再作成してからデータをインポートする必要があります。皆さん、ありがとうございました。

于 2013-04-24T19:22:31.577 に答える