我的模型(部分代码):
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对象时,它仍然表示每次观察至少需要一个值。
我做错了什么,这是一个错误,还是我应该编写派生的Admin类来解决这个问题?
答案 0 :(得分:1)
我通过改进我的ERM来解决这个问题。 Observation中的字段值已过时,因为您从Value中的ForeignKey关系中获取了value_set。
仍然是一个奇怪的副作用,但由于没有回复,我会认为它不会经常发生。
答案 1 :(得分:0)
这也发生在我身上。
你究竟是如何解决的?
以下修改似乎可以解决问题: 但不确定,它在数据库级别有什么影响。
class Value(models.Model):
label = models.ForeignKey(Label, blank=True, null=True)