0

次の 2 つのモデルがあります。

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 の 1 つのインスタンスに割り当てると、次のエラーが発生します。

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

なぜこれ??

どうもありがとう!!

4

0 に答える 0