String Django:如何从CharField对象获取字符串?

String Django:如何从CharField对象获取字符串?,string,django-models,String,Django Models,我有一个Django模型,它本质上是一个单词列表。它非常简单,定义如下: class Word(models.Model): word = models.CharField(max_length=100) 我需要将特定单词作为字符串对象。(为了一个简单的刽子手游戏,我将用星号替换单词中的所有字符。)然而,我似乎无法将单词作为字符串对象 我尝试将此方法添加到Word类中,但似乎也不起作用 def __str__(self): return str(self.word) 我得到一

我有一个Django模型,它本质上是一个单词列表。它非常简单,定义如下:

class Word(models.Model):
    word = models.CharField(max_length=100)
我需要将特定单词作为字符串对象。(为了一个简单的刽子手游戏,我将用星号替换单词中的所有字符。)然而,我似乎无法将单词作为字符串对象

我尝试将此方法添加到Word类中,但似乎也不起作用

def __str__(self):
    return str(self.word)
我得到一个空字符串对象,而不是单词

我需要做什么才能将CharField的值作为字符串对象获取?谢谢你的帮助

编辑:对我来说,奇怪的是它返回一个整数没有问题。例如,如果我要做这样的事情:

word = Word(pk=2821)
print word.id

。。。它将打印该特定记录的id 2821。

您确定正确获取了
Word
对象吗?示例中的行
word=word(pk=2821)
创建了一个新的
word
对象,其中
pk
为2821,字段为空。如果您从数据库中提取了一个实际的
Word
对象,该对象的
Word
字段中有一个值,那么
Word.Word
应该返回一个字符串。例如

>>>> w1 = Word(pk=5, word='eggs')
>>>> w1.word
'eggs'
>>>> w1.save()
>>>> w2 = Word.objects.get(pk=5)
>>>> w2.word
u'eggs'
您还可以通过使用DB客户端连接数据库并查看以下内容的输出来验证单词是否正确存储在数据库中:

SELECT word FROM yourappname_word LIMIT 20;

就像我说的,
word.word
应该可以工作,所以问题可能在于如何保存或获取
word
对象。

是的,这就是问题所在。显然,我还是Django的初学者。谢谢你的帮助。