1

私はオンラインショップを持っています。単品もありますが、単品が入ったセットもあります。今、私はこれらの関係のための最善/有用な解決策を見つけようとしています. それが私がこれまで持っているものです。

モデル:

class Wine(models.Model):
    name = models.CharField(max_length=128)

class WineBox(models.Model):
    name = models.CharField(max_length=128)
    wines = models.ManyToManyField(Wine)

class Product(models.Model):
    wine = models.OneToOneField(Wine, blank=True, null=True)
    winebox = models.OneToOneField(WineBox, blank=True, null=True)
    price = models.DecimalField(max_digits=4, decimal_places=2)
    public = models.BooleanField(blank=True)
4

2 に答える 2

0

すべての助けに感謝しますが、最終的に、私のニーズに完全に適合する非常に簡単な解決策を思いつきました. 私はすべてのモデルを制御しており、後でより多くの製品が必要になる可能性があるため、すべてが複雑になるため、一般的なリレーションを使用したくありませんでした。Product を基本クラスとして使用すると、モデルは次のようになります。

class Product(models.Model):
    price = models.DecimalField(max_digits=4, decimal_places=2)
    public = models.BooleanField(blank=True)

class Wine(Product):
    name = models.CharField(max_length=128)

class WineBox(Product):
    name = models.CharField(max_length=128)
    wines = models.ManyToManyField(Wine)
于 2013-04-30T09:41:10.003 に答える