・修正のときは動くことが判明。db に登録前は pk が無効ということが判明 orz。
・新規登録のときは動かない
じゃあ自前の変数に pk のコピーを持とうかと思ってコンストラクタをオーバライドしたら動きが変。
調べていくと、オーバーライドしたコンストラクタが、もとのコンストラクタを、引数を全部準備して呼び出さなくはならないことが判明。
引数が合わなくてもエラーもワーニングも出さないんだもん、python って。いや、MT のライブラリのバージョンが合わないときもこれで嵌ったから ll 全般の傾向か。
メソッドをオーバーライドするときは親のクラスの元のメソッドを調べなくてはならないことが判明。これって C++ では当たり前だったっけ?少なくとも引数の型が合わないとエラーになったはず。
こういう不具合の種をまかないために型チェックが厳しくなったはずなのに...。
import している models の場所がわからなくて結構探した。おいらの環境では C:\Python262\Lib\site-packages\django あたりにあるらしい。
0 件のコメント:
コメントを投稿