2

1つの製品に多くの価格が含まれる可能性があるため、価格にFKがある製品モデルが1つあります。しかし、これらの多くの価格のどれを実際の価格にするかを選択できるようにしたいので、これを実現するための価格(製品モデル)と製品(価格モデル)の両方があります。次のモデルを検討してください。

class Product(models.Model):
name = models.CharField()
price     = models.ForeignKey('Price', blank=True, null=True, related_name='Product')

class Price(models.Model):
amount = models.IntegerField()
product = models.ForeignKey('Product', related_name='product')

ドロップダウンメニューで価格をフィルタリングするのに問題がありますが、これは正常に機能します。その製品に関連する価格だけでなく、すべての価格が表示されます。試してみました

limit_choices_to 

しかし、それは動的な値では機能しないようです。

私もこのパッチに出くわしました:http: //code.djangoproject.com/ticket/2445

ここで最善の解決策が何であるかわからない。いくつかのポインタをいただければ幸いです、ありがとう!

4

1 に答える 1

0

あなたができること:

価格=price.object_set_all(product ='あなたの製品')

この状況で自分が機能するかどうか思い出せないので、「あなたの製品」というタグを残しました。しかし、これは正しいアプローチかもしれないと思います。

両方のモデルにForeignKeyが表示されないようにする必要があります。実際には、Priceでのみ必要です。次に、Productモデルに、ユーザーの選択に基づくcurrent_priceというフィールドを含めることができます。

于 2009-07-02T14:45:37.693 に答える