私は、他のフィールド選択に基づいてフィールドのデフォルト値を設定しようとしています。Djangoは他のフィールドに基づいてフィールド値を動的に設定します。
class Product(models.Model):
description = models.CharField('Description', max_length=200)
price = models.FloatField('Price')
class Sell(models.Model):
product = models.ForeignKey(Product)
price = models.FloatField('Price')
各「製品」はデフォルトの価格(または希望価格)を持っているので、ユーザーは、管理ページで、新しい販売を追加したいとき、彼/彼女が選ん: は基本的に、これらはクラスでありますProduct.priceから提示価格をSell.priceに動的にコピーする必要があります。 その時点でユーザーが変更できるため、「保存」メソッドを使用することはできません。
JavaScriptを明示的に使用する必要がありますか?またはDjangoでそれを行うためのエレガントな方法はありますか?
もう1つの方法は、モデルの 'clean()'メソッドの 'price'フィールドを初期化することです。 'save()'をオーバーライドするのと似ていますが、 'super()'を呼び出す必要がないのでクリーナーです。これはフレームワークフックです。 –