我现在在学用Django做一个简单的学习日志项目,models.py里面有两个类,一个是topic主题,一个是entry(对主题进行详细记录),我希望entry类可以将创建的topic展示出来,但是我点击某一个主题进去页面是报错的,看里面的报错大概是def __str__(self)这里面有点问题,但是不会改,有没有哪位朋友可以帮我指导一下怎么改呀?网页内容及点击链接后的报错是这样的:
我写的源代码如下:from django.db import models
# Create your models here.
class Topic(models.Model):
#创建记录用户学习主题的类,并继承Model父类属性(方法)
text=models.CharField(max_length=20)
# charfield方法可以存储字符或文本组成的数据,这里设置了存储字符的最大长度
date_added=models.DateTimeField(auto_now_add=True)
# DateTimeField方法可以记录日期和时间数据,auto_now_add表示每次用户创建新主题自动记录当前日期和时间
def __str__(self):
#返回存储在属性text中的字符串
return self.text
class Entry(models.Model):
'''记录学到的有关某个主题的具体知识'''
topic=models.ForeignKey(Topic,on_delete=models.CASCADE)
#主题直接使用Topic类中定义的主题(引用Topic数据表中的text记录,并且设置级联删除)
text=models.TextField() #不需要设置长度限制
date_added=models.DateTimeField(auto_now_add=True)
#按创建顺序呈现条目,并在每个条目旁边放置时间戳
class Meta:
'''在Entry类中嵌套一个Meta类,用来存储用于管理模型的额外信息,它让我们能够设置一个特殊属性
让Django在需要时使用Entries来表示多个条目。如果没有这个类,Django将使用Entrys来表示多个条目'''
verbose_name_plural='entries'
def __str__(self):
'''返回模型的字符串表示'''
return self.topic
|