0

これを実装するためのより良い方法があるかどうか疑問に思っていました:私はいくつかのフィールドを持つモデルを持っています。各フィールドには、対応する値を持つ複数の日付範囲が必要です。たとえば、午前 9 時から午後 12 時までは true、午後 12 時から午後 2 時までは false、午後 2 時から午後 5 時までは再び true であるブール変数「Hungry」を持つクラス「Person」があるとします。私の日付範囲に含まれていない時間は、デフォルト値に過ぎません。

これを実装する 1 つの方法は、Hungry を値、開始時間、および終了時間を持つ別のクラスにすることです。その場合、Person は Hungry と多対多の関係を持つことになります。変数ごとにテーブルを作成せずに、簡単に検索できるようにする、これを実装するより良い方法はありますか?

4

1 に答える 1

0

多対多の関係ではなく、外部キーをお勧めします。

Class Person(models.Model):
    #...

Class Hungry(models.Model):
    person = models.ForeignKeyField(Person)
    start = models. DateTimeField()
    end = models. DateTimeField()
    hungry = models. BooleanField()

これを1つのテーブルに詰め込むために、personフィールドを にHungry置き換えることができると思いますが、それはDB設計が不十分です。CharField実際には 2 つの別個のテーブルである必要があります。

于 2013-03-11T22:37:16.143 に答える