2016-10-07 6 views
0

実際、この質問は長い間私を困惑させていました。Djangoモデル:foriegnキーまたはフィールド内の複数のデータ

言ってやるが、私は次のように、二つのモデル、CourseCourseDateを持っている:

class Course(models.Model): 
    name = model.CharField() 

class CourseDate(models.Model): 
    course = modelds.ForienKey(Course) 
    date = models.DateField() 

CourseDateは、特定のコースが開催される日付です

私も次のようにCourseを定義し、CourseDateを捨てることができます:datesフィールドは、文字列で表された日付が含まれてい

class Course(models.Model): 
    name = models.CharField() 
    dates = models.CharField() 

。例:

dates = '2016-10-1,2016-10-12,2016-10-30' 

第2の解決方法が「不正行為」なのかどうかわかりません。だから、どちらが良いですか?

+2

http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-database-column-really-その悪い/ 3653574 – e4c5

答えて

2

私は不正行為についてはわかりませんが、確かに良いデータベース設計には反対しています。さらに重要な点は、このフィールドでほぼすべての種類の便利なクエリを実行できないことです。特定の日付から2日以内に日付があったコースをすべて知りたい場合はどうすればよいですか?ソリューション2ではほとんど不可能ですが、ソリューション1では単純です。

+0

アイデアを持って、ありがとう。 –

関連する問題