《Python编程从入门到实践》day37

昨日知识点回顾

制定规范、创建虚拟环境并激活,正在虚拟环境创建项目、数据库和应用程序

今日知识点学习

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

python 复制代码
# 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)
相关推荐
sun0077001 小时前
mysql索引底层原理
数据库·mysql
chao_7893 小时前
二分查找篇——搜索旋转排序数组【LeetCode】一次二分查找
数据结构·python·算法·leetcode·二分查找
烛阴3 小时前
Python装饰器解除:如何让被装饰的函数重获自由?
前端·python
workflower4 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
Tony小周4 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
noravinsc4 小时前
django 一个表中包括id和parentid,如何通过parentid找到全部父爷id
python·django·sqlite
lifallen4 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
ajassi20004 小时前
开源 python 应用 开发(三)python语法介绍
linux·python·开源·自动化
沉默媛4 小时前
如何安装python以及jupyter notebook
开发语言·python·jupyter
TDengine (老段)4 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据