中間モデルにデータを保存し、モデル保存をオーバーライドすることでモデル内で計算を行います。私が持っている問題は、中間モデルに保存することができないフォームセットである。 中間モデルを介してmanytomanyを持つDjangoフォームセット
仲介モデル
は、M2Mの関係が(それは私が推測理解しています)がある場合にのみ作成されます。は、私はそうのような4つのモデルを持っている:
Category(models.Model):
name = models.CharField(..)
Tax(models.Model):
name = models.CharField(..)
rate = models.DecimalField(..)
CategoryItem(models.Model):
category = models.ForeignKey(Category)
taxes = models.ManyToManyField(Tax, through='CategoryItemTax', through_fields=('item', 'tax'))
quantity = models.DecimalField(..)
price = models.DecimalField(..)
# intermediary model below
CategoryItemTax(models.Model):
category = models.ForeignKey(Category)
tax = models.ForeignKey(Tax)
item = models.ForeignKey(CategoryItem)
rate = models.DecimalField(..) #derived from tax object in the model
total_tax = models.DecimalField(..) #calculated in model save
私の私はCategoryItemフォームセットを持つカテゴリーモデルのフォームを持っています。
Cannot set values on a ManyToManyField which specifies an intermediary model.
Use category.CategoryItemTax's Manager instead
formsetを表示できますか? – zaidfazil
私はforms.pyコードを追加しました。 – Hdman