Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django变量的更改字段_Django_Model_Foreign Keys - Fatal编程技术网

django变量的更改字段

django变量的更改字段,django,model,foreign-keys,Django,Model,Foreign Keys,我有这个: class Character(models.Model): weapon = models.ForeignKey(item, related_name='weapon') shield = models.ForeignKey(item, related_name='shield') ... class Item(models.Model): nom = models.CharField(max_length=30) choices = (

我有这个:

class Character(models.Model):
    weapon = models.ForeignKey(item, related_name='weapon')
    shield = models.ForeignKey(item, related_name='shield')
    ...

class Item(models.Model):
    nom = models.CharField(max_length=30)
    choices = (
        ('weapon', 'weapon'),
        ('shield', 'shield'),
        ...
    )
    typeOf = models.CharField(max_length=15, choices=choices)
    ...
我想用item.typeof的名称更新我的字符字段,但它不起作用

character[item.typeof] = item
character.save()
如何执行此操作?

使用内置功能:

setattr(character, item.typeOf, item)
character.save()
使用内置功能:

setattr(character, item.typeOf, item)
character.save()
使用内置功能:

setattr(character, item.typeOf, item)
character.save()
使用内置功能:

setattr(character, item.typeOf, item)
character.save()

也不起作用,它给我的名字“typeof”没有定义对不起,我没有注意到大写的
O
。将行更改为
setattr(character,item.typeOf,item)
也不起作用,它给我的名字“typeOf”没有定义对不起,我没有注意到大写的
O
。将行更改为
setattr(character,item.typeOf,item)
也不起作用,它给我的名字“typeOf”没有定义对不起,我没有注意到大写的
O
。将行更改为
setattr(character,item.typeOf,item)
也不起作用,它给我的名字“typeOf”没有定义对不起,我没有注意到大写的
O
。将行更改为
setattr(字符,item.typeOf,item)