我们有这两个模型:
class LogObject(models.Model):
type = models.CharField(verbose_name=_('Object_type'), max_length=30)
class LogHistory(models.Model):
obj_id = models.IntegerField(verbose_name=_('id_object'))
obj_type = models.ForeignKey(LogObject, verbose_name=_('obj_type'))
date = models.DateField()
如果我尝试从这样的数据库中拯救一些 LogObject:
o = LogObject.objects.get(type__exact='miserable')
然后分配给 LogHistory 的一个实例,我们得到这个错误:
...
h.obj_type = o
h.save()
# we get the next error
ValueError: invalid literal for int(): miserable
否则,如果我创建一个新的 LogObject,并将其保存到数据库中:
o = LobObject('brandnew Object')
o.save()
然后分配给我的 LogHistory 实例,一切正常。
h.obj_type = o
h.save()
为什么这个??
非常感谢!!