定义模型 models.py
from django.db import models
class Topic(models.Model):
'''用户学习的主题'''
text=models.CharField(max_length=200)#属性text由字符或文本组成,最大值200
date_added=models.DateTimeField(auto_now_add=True)# 属性date_added 创建主题的时间
'默认返回表示主题的属性'
def __str__(self):
'''返回模型的字符串表示'''
return self.text
class Entry(models.Model):
'''学到的有关某个主题的具体知识'''
topic=models.ForeignKey(Topic,on_delete=models.CASCADE)#属性实例,级联删除
text=models.TextField()
date_added=models.DateTimeField(auto_now_add=True)
'存储用于管理模型的额外信息'
class Meta:
verbose_name_plural='entries'
def __str__(self):
return self.text[:50]+'...'
激活模型 settings.pyI
NSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 我的应用程序
'learning_logs',
'polls.apps.PollsConfig'
]
修改数据库
生成一个0001_initial.py迁移文件,将文件在数据库中模型为Topic创建一个表
Python mange.py makemigrations learning_logs
迁移数据库
Python manage.py migrate
向管理网站注册模型 admin.pyf
rom django.contrib import admin
# Register your models here.
from learning_logs.models import Topic, Entry
# 导入注册的模型
admin.site.register(Topic)
admin.site.register(Entry)
总结
每当需要修改数据时都需要这三个步骤
修改models.py;
对”修改的应用”调用makemigrations;
让Django迁移项目;