2016-06-23 10 views
0

クラスオブジェクトを作成するときに0〜3つの画像をクラスオブジェクトに関連付けることを検討していますが、これを行うには最良の方法がわかりません。複数の画像をクラスオブジェクトロジックに関連付ける

例:ユーザーがピクチャコンテストを作成すると、ピクチャスタイルが0〜3つのイメージで定義されます。これらは静止画像なので更新されません。

私は考えることができる唯一の方法は、stylePicturesと呼ばれる別のクラスを作成し、nullにすることができContestと言って「styleOne」「styleTwo」と「styleThree」の三つのフィールドを持つことです。これは、これを行う最も効率的な方法ではないようです。

アイデア?

答えて

2

私は2つの別々のクラスを作成します。こうすることで、あなたの機能は将来もっと多くの写真を使用するものに容易に進化することができます。

class PictureContest(models.Model): 
    # fields 

class PictureStyle(models.Model): 
    image = models.FileField(upload_to="upload/picture_style") 
    picture_contest = models.ForeignKey("PictureContest") 

1つの画像コンテストに関連するすべての画像スタイルを取得します。

まず、あなたが望む絵コンテストを分離する必要があります。

pc = PictureContest.objects.filter(id=2) # find your picture contest 

フィールド値としてpc.idのピクチャスタイルをフィルタリングします。

+0

これは私が考えていたルートですが、PictureContestでは、特定のPictureStyleインスタンスが選択された場合、どのフィールドに追加しますか? 1つのPictureContestオブジェクトに関連付けられた0から3つのPictureStyleオブジェクトが必要です – manchakowski

+0

これは質問に含める必要があります。編集を参照してください。 – marcusshep

関連する問題