Django 笔记-20190521

django 与数据库通过models.py 交互

从模板导入对象

from app.models import Grade, Student
from django.utils import timezone
from datetime import *

创建对象

grade1 = Grade()
grade1.gname = "python01"
grade1.gdate = datetime(year=2019, month=5, day=21)
grade1.gnum = 60
grade1.save()
Grade.objects.all()

修改models.py Grades 类的print输出

def __str__(self):
    return "%s班级-%s人" %(self.name, self.num)
Grade.objects.all()

添加数据

from app.models import Grade, Student
from django.utils import timezone
from datetime import *
grade2 = Grade()
grade2.name = "python02"
grade2.date = datetime(year=2019, month=5, day=22)
grade2.num = 30
grade2.save()

grade2

查询数据

Grade.objects.get(pk=2)

修改数据

grade2.num = 50
grade2.save()

grade2

删除数据

grade2.delete() 注意:物理删除,数据库中表里的数据被删除

关联对象

建立学生表格

stu1 = Student()
stu1.name = "sunlin"
stu1.gender = True
stu1.age = 27
stu1.info ="这是一个好同学"
stu1.grade = grade1
stu1.save()

获得关联对象的集合

stu2 = Student()
stu2.name = "linux"
stu2.gender = True
stu2.age = 28
stu2.info ="这是一个好同学"
stu2.grade = grade1
stu2.save()

grade1.students_set.all()

创新新的学生对象,添加到新的班级

stu3 = grade1.students_set.create(name="frank",gender=True,info="I am frank",age=16)

PS:直接添加到数据库中,不需要save

启动服务

格式

  • python manage.py runserver ip:port

ip可以不写,不写默认代表本机

端口号默认8000

python manage.py runserver

站点管理

概述

内容发布

负责添加、修改、删除内容

配置Admin应用

在settings.py 文件中的INSTALLED_APPS 中添加'django.contrib.admin'

创建管理员用户

执行<python manage.py createsuperuser>依次输入用户名、邮箱、密码创建超级管理员

配置

中文选项: settings.py LANGUAGE_CODE = 'en-us' 改为 LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'UTC' 改为 TIME_ZONE = 'Asia/Shanghai'

注册模型

from .models import Grade, Student
admin.site.register(Grade)
admin.site.register(Student)

属性模型

列表页属性
list_display = ['pk', 'name', 'date', 'num', 'isDelete']
list_filter = ['name']
search_fields = ['name']
list_per_page = 50

× list_display : 显示字段 × list_filter: 过滤字段 × search_fields: 查找字段 × list_per_page: 每页数量

添加和修改页属性
class GradeAdmin(admin.ModelAdmin):
    # 列表页属性
    list_display = ['pk', 'name', 'date', 'num', 'isDelete']
    list_filter = ['name']
    search_fields = ['name']
    list_per_page = 50

    # 添加、修改页属性
    # fields = ['num', 'name', 'age', 'date']
    fieldsets = [
        ('num', {"fields":['num', 'isDelete']}),
        ('base',{"fields":['name', 'date']}),
    ]

fields: 属性的先后顺序 fieldsets: 给属性分组 注意:fieldsets 与fields不能同时使用

转载于:https://my.oschina.net/frank1126/blog/3053910

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值