您的位置:首页 > 编程语言 > Python开发

python学习笔记之Django入门四:更多的模型

2018-12-16 16:31 190 查看

定义模型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 Meta:
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中添加模型并注册
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: