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()

当我在管理界面中管理一个观察对象时,它仍然说每个观察至少需要一个值。

我做错了什么,这是一个错误,还是我应该编写一个派生的 Admin 类来解决这个问题?

4

2 回答 2

1

我通过改进我的 ERM 解决了这个问题。Observation 中的字段值已过时,因为您从 Value 中的 ForeignKey 关系中获得了 value_set。

仍然是一个奇怪的副作用,但由于没有回复,我会认为这是不经常发生的事情。

于 2011-01-14T14:31:48.590 回答
0

这也发生在我身上。

你到底是怎么解决的?

以下修改似乎可以解决问题:但不确定它在数据库级别有什么影响。

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