将从数据库中获救的对象分配给另一个对象时出错

时间:2012-05-17 10:27:16

标签: django foreign-keys literals

我们有两个模型:

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

为什么这个?

非常感谢!!

0 个答案:

没有答案