这一定很简单,但我无法理解它。我想为 django 模型实例分配一个简单的单字符值。我已经这样做了一百万次,但在这种情况下,它不起作用。
我的模型.py
class MetaInformation(models.Model):
# part of the class profile ...
PROFILE_STATUS = (
('C', 'Claimed'),
('U', 'Unclaimed'),)
status = models.CharField(_('Profile'), max_length=1,
choices = PROFILE_STATUS,)
class Profile(MetaInformation):
# additional attributes
...
现在我正在执行Django shell
:
In [1]: a = Profile.objects.all()
In [2]: a[1].status
Out[2]: u'U'
In [3]: a[1].status = Profile.PROFILE_STATUS[0] # equal to 'C'
In [4]: a[1].save()
我希望结果是
In [14]: a[1].status
Out[14]: u'C'
但 Django 回来了
In [14]: a[1].status
Out[14]: u'U'
为什么无法识别属性的保存或提供任何错误消息?