|
2鱼币
我现在在学用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
复制代码
|
|