《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)
相关推荐
-madongyu-3 小时前
GaussDB 性能调优:等待事件、慢 SQL 定位与关键参数
数据库·sql·gaussdb
-madongyu-3 小时前
GaussDB 部署规划:磁盘水位、RAID 与端口设计
数据库·gaussdb
计算机源码社3 小时前
【27届大数据毕设】基于Spark的AI艺术创作者价值评估与市场趋势预测研究 基于Python与Spark的AI生成艺术受众画像及异常热度识别可视化平台
大数据·人工智能·hadoop·python·spark·毕业设计·课程设计
huisheng_qaq5 小时前
【Python基础篇-04】深入理解python的函数、参数与作用域
python·ai·函数·参数作用域
宸津-代码粉碎机10 小时前
OpenAI 连夜迎战 Grok Bot 和 Muse:AI 智能体从 “会聊天” 到 “能办事”,现在入场还来得及吗
java·大数据·人工智能·分布式·python
Y38153266210 小时前
SERP API 计费口径:credits_charged、执行失败扣费与退款边界
python·搜索引擎
weixin_5112552110 小时前
MySQL升级记录
数据库·mysql
程序猿乐锅11 小时前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
Leo.yuan11 小时前
2026年本地化Data Agent优质厂商盘点:哪些产品更适合企业生产环境
大数据·数据库·人工智能
做运维的阿瑞12 小时前
数据库增删改的安全写法
数据库·sql·mysql