2011-01-26 5 views
0

私は、基本的にデータベースのフロントエンドであるWebアプリケーションを作成しようとしています。データベースは単一のテーブル(多くの異なるテーブルなどとの関係が多い)よりも複雑ですが、メインテーブルの1つに追加するときに空の行を作成したいと思います。DBに空の行を作成してdjangoモデルを作成するための推奨される方法は何ですか?

私が使用しようとしているものよりも、Djangoで私の仕事を完了する良い方法があるのなら、私は不思議です。

変更をデータベースに保存するためにユーザーがフォームを保存する必要はありません。これを行うには、ユーザーがフォーム上にフォームを表示した時点で空のレコードを作成することを希望していました。基本的には、ユーザーが「新しい」ボタンを選択するとすぐに存在するすべてのものは、主キーと空白のフィールドの束であるレコードになります。

日付フィールド(auto_now_addを使用して設定)以外のすべてのフィールドで、空白= Trueおよびnull = Trueに設定しています。ユーザーがフォームフィールドにデータを追加すると、フォームをプログラマチックにスクリプト化してデータを送信する(つまり、フィールドから離れると)フォームを作成する予定です。ユーザーが途中で編集を中止したり、jquery UIタブを閉じると、入力したデータは将来使用するために保存されます。

日付フィールドと時刻フィールドのauto_now_addを除いて、すべてのフィールドを設定していますが、モデルで非常に明確にマークされているフィールドにIntegrityError(nullではない)が表示されています。私はこれについて行くべきであるより良い方法はありますか?そうでない場合、null = Trueでブランク= Trueに設定されていると、なぜこのエラーが表示されるのでしょうか?ビューで次の行が表示されるため、エラーが表示されます。これは、モデルでnull = Trueと空白= Trueのフィールドです。

theModel = theModel.objects.create() 

ありがとうございました。

答えて

2

あなたのモデルが言っていることは問題ではなく、データベースの内容だけです。 syncdbはスキーマを変更しないので、自分で変更を適用するか、Southなどの移行ツールを使用するか、テーブル全体を削除して再同期します。

+1

Hmmm。それは考えです。私はsyncdbを変更した後に行ったと思っていましたが、オフィステレビ番組が混乱してしまい、同期した後にブランク/ヌルを追加した可能性があります。 – wilbbe01

+1

あなたは何を知っていますか?私はドワイトでそれを責めている...私の愚かな方法。ありがとう。 – wilbbe01

関連する問題