【问题标题】:django change field by variabledjango 通过变量更改字段
【发布时间】:2015-01-29 10:57:45
【问题描述】:

我有这个:

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

我该怎么做?

【问题讨论】:

    标签: django model foreign-keys


    【解决方案1】:

    使用内置setattr()函数:

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

    【讨论】:

    • 也不行,它给了我name 'typeof' is not defined
    • 抱歉,我没有注意到大写的O。换行为setattr(character, item.typeOf, item)
    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    相关资源
    最近更新 更多