2017-08-17 14 views
0

私はこのためのモデルに苦労しています。 私は音楽業界の企業のディレクトリを開発しています。すでに500社のデータベースを持っています。私たちはオーディオ、ビデオ、イルミネーション、ステージ、音楽インスツルメント、タレント、学校、DJのカテゴリを持っています。Django - 多くのカテゴリと多くのサブカテゴリを持つオブジェクト

このカテゴリにはこのサブカテゴリがあります。 - オーディオ:記録、インストール、賃貸、小売 - ビデオ:インストール、賃貸、小売 - Ilumination:インストール、賃貸、小売 - ステージ:バー、ディスコ、劇場、スタジアム - ミュージックインストゥルメント:小売、 を借ります - タレント:マネージャー、レコードレーベル、 予約 - 学校:オーディオ、生産、演劇、ダンス - DJの:予約、小売

多くの企業は、このカテゴリの多くで入力して、このカテゴリ内で、彼らは多くのサブカテゴリに入力します。

例: X社はビデオおよびオーディオ製品を販売していますが、オーディオ製品のインストールサービスも提供しています。 So Company X - オーディオ:小売、インストール。 - ビデオ:小売

私のモデルはどのように設計できますか?

ありがとうございました。

これは私のコードですが、間違っています。

答えて

0

次の方法は、問題を解決するための単純な方法であり、効率的な方法ではない可能性がありますが、問題全体を解決します。

models.py

class SubCategory(models.Model): 
    name = models.CharField(max_length=255) 

    def __str__(self): 
     return self.name 

class Category(models.Model): 
    name = models.CharField(max_length=255) 
    sub_categories = models.ManyToManyField(SubCategory, blank=True, default=None) 

    def __str__(self): 
     return self.name 


class Company(models.Model): 
    name = models.CharField(max_length=255) 
    categories = models.ManyToManyField(Category, blank=True, default=None) 
    sub_categories = models.ManyToManyField(SubCategory, blank=True, default=None) 

    def __str__(self): 
     return self.name 
関連する問題