PHPの観点から、私はdjangoにまったく慣れていません。Book、Ebook、Genre、price の 4 つのクラスを持つ実際の基本的なアプリケーションを作成したいと考えています。ブックと電子ブックには、それぞれ 1 つのジャンルと多数の賞品を用意する必要があります。SQL-DB では、id でジャンル テーブルを参照する Book と Ebook にフィールドを配置し、Book_prices のようなものと呼ばれる新しいテーブルを配置して、Books と Ebook を価格にリンクします。
table book_prices
id | type | price
---+--------+------
1 | book | 3
2 | book | 3
3 | ebook | 1
table book/ebook
id | ... | genre_id
---+-----+---------
1 | | 5
2 | | 7
3 | | 9
基本的に、電子ブックと書籍ごとに価格と 1 つのジャンルのリストを追加したいと考えています。djangoモデルを使用してこれを行うにはどうすればよいですか? model.ForeignKey()
ジャンルを参照する各書籍/電子書籍に適用できるものを知っています。しかし、私の価格はどうですか?価格に を追加するForeignKey()
と、書籍または電子書籍のみを参照できます。
class Book:
name = models.CharField(max_length=100)
pages = models.IntegerField()
class Ebook:
name = models.CharField(max_length=100)
filesize = models.FloatField()
class Genre:
name = models.CharField(max_length=100)
info = models.TextField()
class Price:
currency = models.CharField(max_length=4)
amount = models.FloatField()