定义模型Entry

要记录学到的国际象棋和攀岩知识,需要为用户可在学习笔记中添加的条目定义模型。每个条目都与特定主题相关联,这种关系被称为多对一关系,即多个条目可关联到同一个主题。
在learning_logs的models.py添加代码

class Entry(models.Model):
\"\"\"学到的有关某个主题的具体知识\"\"\" 
	topic = models.ForeignKey(Topic)
	text = models.TextField()
	date_added = models.DateTimeField(auto_now_add=True,on_delete=models.CASCADE)
	class  :
		verbose_name_plural = \'entries\'
	def __str__(self):
\"\"\"返回模型的字符串表示\"\"\"
	return self.text[:50] + \"...\"

注意:Django 2.x, on_delete is 是必要的,你必须在参数中加入on_delete=models.CASCADE
添加这个参数后,主外关系键中,级联删除,也就是当删除主表的数据时候从表中的数据也随着一起删除

配置、激活及在网站中应用

  1. 在应用目录的models.py中添加模型
  2. 在项目的settings.py中包含这个应用(同一个应用只需添加一次,添加Entry时略过这一步)
  3. 对应用learning_logs调用makemigrations
  4. 迁移应用,migrate
  5. 在应用程序learning_logs的admin.py中添加模型并注册
收藏 打印