0

ProductCurrencyの 2 つのモデルがあります。

class Product(models.Model):
  Currency = models.ManyToManyField(
    'Currency', verbose_name=u'Currency', blank=True, null=True)

class Currency(models.Model):
  Name = models.CharField(u'Currency Name', max_lenght=16)
  Sign = models.CharField(u'Currency Sign', max_lenght=4)

models.Product の値を models.Currency に関連付ける最良の方法は何ですか?

例:
model.Currency には、オブジェクト「USD」、「Euro」、「Krona」が含まれています。
model.Product には、models.Currency 'USD' および 'Euro' に関連付けられたオブジェクト 'Cactus' が含まれています。
「USD」と「Euro」に値 (価格) を設定するにはどうすればよいですか?

私はこのようなものが欲しい:

Product.objects.get(Name='Cactus').get_price(Current.objects.get(Name='USD'))
Product.objects.get(Name='Cactus').get_price(Current.objects.get(Name='Euro'))

前もって感謝します!

4

1 に答える 1

1
class Product(models.Model):
    currencies = models.ManyToManyField('Currency', through='Pricing', blank=True, null=True)

class Currency(models.Model):
    name = models.CharField()
    sign = models.CharField()

class Pricing(models.Model):
    product = models.ForeignKey(Product)
    currency = models.ForeignKey(Currency)
    price = models.FloatField()

そして、次のようなものを使用できます

product = Product.objects.get(name='Cactus')
price = product.pricing_set.get(currency__name='USD')
于 2013-06-10T12:45:52.573 に答える