• 01 Stark总结

  • 02 ORM总结

  • 03 上节作业

  • 04 Stark组件之查看页面表头

  • 05 list_display_links

  • 06 stark组件之添加页面

  • 07 编辑删除页面

01 Stark总结

1.1 编写类starkConfig;

1.2 注册类似于admin.site.register();

1.3 设计URL;

02 ORM总结

2.1 基于双下划线的查询;

models.py

from django.db import models

# Create your models here.

class Author(models.Model):
nid = models.AutoField(primary_key=True)
name = models.CharField(max_length=32)
age = models.IntegerField()
# 与AuthorDetail建立一对一的关系;
authorDetail = models.OneToOneField(to="AuthorDetail", on_delete=models.CASCADE) def __str__(self):
return self.name class AuthorDetail(models.Model):
nid = models.AutoField(primary_key=True)
birthday = models.DateField()
telephone = models.BigIntegerField()
addr = models.CharField(max_length=64) def __str__(self):
return self.telephone class Publish(models.Model):
nid = models.AutoField(primary_key=True)
name = models.CharField(max_length=32)
city = models.CharField(max_length=32)
email = models.EmailField() def __str__(self):
return self.name class Book(models.Model):
nid = models.AutoField(primary_key=True)
title = models.CharField(max_length=32)
publishDate = models.DateField()
price = models.DecimalField(max_digits=5, decimal_places=2)
# 与Publish表建立一对多的关系,外键字段在多的一方;
publish = models.ForeignKey(to="Publish", to_field="nid", on_delete=models.CASCADE)
# 与Author表建立多对多的关系,ManyToManyField可以建立在两个模型中的任意一个,自动创建第三张表;
authors = models.ManyToManyField(to="Author") def __str__(self):
return self.title

views.py

from django.shortcuts import render, HttpResponse

# Create your views here.
from .models import * def index(request):
# ret1 = Publish.objects.filter(name="沙河出版社").values("book__title", "book__price")
# print("ret1", ret1)
# print("query", ret1.query) ret2 = Book.objects.filter(publish__name="沙河出版社").values("title", "price")
print(ret2)
print(ret2.query)
return HttpResponse("ok")

03 上节作业

04 Stark组件之查看页面表头

05 list_display_links

06 stark组件之添加页面

07 编辑删除页面

Python-S9-Day89_stark总结的更多相关文章

  1. python 全栈开发:str(字符串)常用方法操作 、for 有限循环以及if 循环

    str(字符串)常用方法操作: 首字母大写: s = 'mylovepython' s1 = s.capitalize() print(s1) 输出: Mylovepython 单行多字符串首字母大写 ...

  2. day27:反射和双下方法

    1, # 面向对象的三大特性:继承,多态和封装 # 继承: # 单继承: **** # 父类(超类,基类) # 子类(派生类) 派生方法和派生属性 # 子类的对象在调用方法和属性:先用自己的,自己没有 ...

  3. 老男孩Python全栈学习 S9 日常作业 012

    1.斐波那契数列用递归实现:问第n个斐波那契数是多少 def fbnq(n): if n == 0 or n == 1: return 1 else: return fbnq(n-1)+fbnq(n- ...

  4. 老男孩Python全栈学习 S9 日常作业 008

    1.有如下两个集合,pythons是报名python课程的学员名字集合,linuxs是报名linux课程的学员名字集合 pythons={'alex','egon','yuanhao','wupeiq ...

  5. 老男孩Python全栈学习 S9 日常作业 006

    1.使用循环打印以下效果: 1: * ** *** **** ***** 2: ***** **** *** ** * 3: * *** ***** ******* ********* for i i ...

  6. 老男孩Python全栈学习 S9 日常作业 001

    1.简述变量命名规范 必须以字母.数字.下划线命名,且不能以数字开头 不能是python的关键字 不能以中文或者拼音作为变量名 命名格式推荐以驼峰式或者下划线连接命名 区分大小写 要有意义,具有可描述 ...

  7. 老男孩Python全栈学习 S9 日常作业 013

    1.写一个求正方形周长和面积的类 class perimeter: def __init__(s,long): s.long = long def Perimeter(s): print((s.lon ...

  8. 老男孩Python全栈学习 S9 日常作业 011

    1.编写装饰器,为函数加上统计时间的功能 import time def Decoration(func): def Timmer(): # 开始时间 Start = time.time() func ...

  9. 老男孩Python全栈学习 S9 日常作业 010

    1.写函数,接收n个数字,求这些参数数字的和. def func1(*Num): num = 0 for i in Num: num += i return num 2.读代码,回答:代码中,打印出来 ...

  10. 老男孩Python全栈学习 S9 日常作业 009

    1.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者. def func1(List): List2 = [] for num in range(len(Li ...

随机推荐

  1. 初识ListView - 定制ListView - 提升ListView运行效率

    ListView绝对可以称得上是 Android 中最常用的控件之一,几乎所有的应用程序都会用到它.由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的 ...

  2. Azure School,让你系统化快速学习人工智能

    要说目前最热门的技术,非人工智能莫属了,让计算机程序能够看懂.听懂.读懂.理解我们的世界!想想就激动!! 上至高大上的个人数字化助理,下至P图软件,各种应用都开始增加AI相关的功能,试问又有哪个技术爱 ...

  3. graylog插件的安装

    什么是插件和插件的作用我就不说了,大家应该都知道了. 安装方法是打开下面选择项     进去后出现如下界面 选择事先下载好的插件后,点击上传.这里以nginx日志插件为例 之后查看效果,发现对应的过滤 ...

  4. 9 Palindrome_Number

    Determine whether an integer is a palindrome. Do this without extra space. 判断一个数是否是回文数. public class ...

  5. IOS @param view 需要获取层级结构的view

    - (void)applicationDidBecomeActive:(UIApplication *)application { NSString *str = [self digView:self ...

  6. java +selenuim使用js显示控件

    操作selenium控件时,往往需要有些控件提前显示,特别是后台的一些控件,或者需要使用鼠标显示下拉的操作,有时鼠标悬停,在点击不怎么好使,就可以依靠js方式,提前让控件显示. 1.使用style的方 ...

  7. js 常用工具类

    /** * 存储sessionStorage */const setStore = (name, content) => { window.sessionStorage.setItem(name ...

  8. (82)zabbix如何选择适合的监控类型

    zabbix提供十几种监控类型,包括:Zabbix agent, Simple checks, SNMP, Zabbix internal, IPMI, JMX monitoring等等,那我们应该如 ...

  9. 安装配置mysql图文步骤以及配置mysql的环境变量的步骤

    MySQL下载地址:http://dev.mysql.com/downloads/installer/ 我的数据库是5.5.21这个版本的.其实可以一直点击next,直到出现第14张图,从这里开始要注 ...

  10. Linux下重要日志及查看方式

    1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息,如图1所示: 图1 /var/log/boot. ...