# 昨日知识点回顾
制定规范、创建虚拟环境并激活,正在虚拟环境创建项目、数据库和应用程序
# 今日知识点学习
18.2.4 定义模型Entry
# models.py
from django.db import models
# Create your models here.
class Topic(models.Model):
"""用户学习的主题"""
# 存储少量文本如名称、标题或城市,预留200字符空间
text = models.CharField(max_length=200)
# 记录日期和时间的数据,为True自动设置为当前日期和时间
data_added = models.DateTimeField(auto_now_add=True)
class Entry(models.Model):
"""学到某个主题的具体知识"""
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
# 外键(foreign key)是一个数据库术语,它指向数据库另一条记录。
# 次联删除:on_delete=models.CASCADE让Django在删除主题的同时删除所有与之相关联的条目
text = models.TextField()
date_added = models.DateTimeField(auto_now_add=True)
class Meta:
# 存储用于管理模型的额外信息
verbose_name_plural = 'entries'
def __str__(self):
"""返回模型的字符串表示"""
# 只显示条目前50字符,省略号指出显示的并非整个条目
return f"{self.text[:50]}..."
18.2.5 迁移模型Entry
18.2.6 向管理网站注册Entry
# admin.py
from django.contrib import admin
# Register your models here.
# 向管理网站注册Topic
from .models import Topic,Entry
admin.site.register(Topic)
admin.site.register(Entry)