モデルでのデータ保存とそれを画面上で表示、更新する際の数字の変換についての質問になります。
長さを持つ在庫を管理するモデルについての例になるのですが
class Stock(Model): name = models.CharField('名前', max_length=255) length = IntegerField('cmでの長さ')
このような形で在庫のモデルを用意しています。
ここでこれについてのモデルフォームを作成すると、画面上では「名前」と「cmでの長さ」を入力することができるようになりますが、ここでcmではなくmでの長さを入力し、その値がレコードとしてはcmでの管理に変換されるようにしたいと思っています。
name='hoge', length=10と入力するとname='hoge', length=1000として登録されるというイメージです。
modelformのsave時にlengthを*100することで保存時の変換はできたのですが、それを表示すると1000となってしまい、1000mと勘違いしてしまいます。表示時の解決策をお伺いしたいです。
また、上に一つの例としてモデルケースを記載しましたが、構築しているシステムでは他にもこのようにcmとmの変換を行う必要があるモデルがいくつかあるので、個別にこのような変換処理を書くのではなく、何らかの工夫をして汎用的に利用できるようにしたいと思っています。
こうした要望を実現できる手段をご存知の方がいましたら、ご教示いただけたらと思います。
よろしくお願いします。
あなたの回答
tips
プレビュー