2

私のモデル(部分コード):

class Observation(models.Model):
    date = models.DateField()
    geom = models.PointField()
    values = models.ManyToManyField(Label, through='Value', null=True, blank=True)
    objects = models.GeoManager()


class Value(models.Model):
    observation = models.ForeignKey(Observation)
    label = models.ForeignKey(Label)
    value = models.CharField(max_length=100)
    objects = models.GeoManager()

管理インターフェースでObservationオブジェクトを管理すると、観測ごとに少なくとも1つの値が必要であると表示されます。

私は何か間違ったことをしていますか、これはバグですか、それともこれを解決するために派生したAdminクラスを作成する必要がありますか?

4

2 に答える 2

1

私はERMを改善することでこれを解決しました。ValueのForeignKeyリレーションからvalue_setを取得するため、Observationのフィールド値は廃止されました。

それでも奇妙な副作用ですが、返事がなかったので、あまり起こらないものだと思います。

于 2011-01-14T14:31:48.590 に答える
0

これは私にも起こります。

どのくらい正確に解決しましたか?

次の変更でうまくいくようです。しかし、DBレベルでどのような影響があるのか​​はわかりません。

class Value(models.Model):
    label = models.ForeignKey(Label, blank=True, null=True)
于 2012-07-18T09:35:23.563 に答える