使用Django框架创建网页时,在“学习笔记”项目中,定义的Entry模型中,设置代码使每个条目与主题相关联,但是下拉Topic选项框中不显示主题名称,而显示Topic object(1)。如图所示。
但是Topic object(1)已经设置好chess名称。
经过学习,有些同道使用修改
将
class Entry(models.Model):
--snip--
class Meta:
verbose_name_plural = 'entries'
def _unicode_(self):
""""返回模型的字符串表示。"""
return f"{self.text[:50]}...`"
改成
class Entry(models.Model):
--snip--
class Meta:
verbose_name_plural = 'entries'
def _str_(self):
""""返回模型的字符串表示。"""
return f"{self.text[:50]}...`"
可以在python3中成功显示了,但是我并没有成功。
在我的尝试下,修改成
class Entry(models.Model):
--snip--
class Meta:
verbose_name_plural = 'entries'
def __str__(self):
""""返回模型的字符串表示。"""
return f"{self.text[:50]}...`"
就是_ _str_ _(self),这里在两条下划线中间加了一个空格方便各位辨认,但是代码中不要加空格。这样我的显示就正确了。
可能我的方法并不适用与大部分人,但是希望可以分享出来可以给予和我一样的初学者们一点点帮助。