データのサブセットのみを含むdjangoモデルで外部キーまたはOneToOne関係を定義することはできますか?データのサブセットを持つDjangoモデルForeignKey
例:
私には2つのモデルがあります。
@with_author
class Product(models.Model):
GTIN = models.CharField(max_length=30)
material = models.ForeignKey(Material, on_delete=models.PROTECT)
UOM = models.OneToOneField(MaterialUOM)
defaultPrice = MoneyField(max_digits=10, decimal_places=2, default_currency='USD')
と
@with_author
class UOM(models.Model):
uomname = models.CharField(max_length=30)
material = models.ForeignKey(Material, on_delete=models.PROTECT)
ので、私は唯一の製品と同じ材料値を持つUOM値を許可するように私の製品モデルにしたいです。
モデルレベルや他の場所で可能であり、ドロップダウンに関連性のない値を表示しないでください。
'clean()'メソッドは、 'ModelForm'を使用してモデルを保存するときにのみ呼び出され、それ以外の場合は呼び出されません。私は 'save'メソッドをオーバーライドすることは他のケースをカバーする方が良いと思います。そして、エラーに関しては、これをカスタム化することができます。 – AKS
これは機能しませんモデルでもフォームに素材がないので、フォームレベルできれいに追加できません。モデルにクリーンアップを追加すると、エラーが発生します。例外タイプ:\t RelatedObjectDoesNotExist 例外値:\t 製品には物質がありません。 –
保存レベルを上書きしても、私のドロップダウンにはすべての値が表示されます。 –