Summary of the use of sqlite database

1. Create a model class:

from django.db import models

#Create your models here.

class Subject(models.Model):
    name=models.CharField(max_length=32)
    price=models.IntegerField()

    def __str__(self):
        return '{}--{}'.format(self.name,self.price)

class Student(models.Model):
    name=models.CharField(max_length=32)
    age=models.IntegerField()
    phone=models.CharField(max_length=32)
    subject=models.ForeignKey(to='Subject',on_delete=True)

    def __str__(self):
        return '{}--{}'.format(self.name,self.age)

class Teacher(models.Model):
    name=models.CharField(max_length=32)
    age=models.IntegerField()
    phone=models.CharField(max_length=32)
    salary=models.CharField(max_length=32)
    student=models.ManyToManyField(to='Student')

    def __str__(self):
        return '{}--{}'.format(self.name,self.age)

2. Register in admin:

from django.contrib import admin
from app01.models import Student,Teacher,Subject

#Register your models here.

admin.site.register(Student)
admin.site.register(Teacher)
admin.site.register(Subject)

3. Synchronize the database:

python manage.py makemigrations
python manage.py migrate

4. Create a super user:

python manage.py createsuperuser

5. Change the English page of the webpage to Chinese page

Insert picture description here

6.orm

One-to-one forward query:

def index(request):
    #一对一正向查询,查询小白的学科
    student_obj=models.Student.objects.get(name='小白')#获取小白对象
    # print(student_obj)
    sub_obj=student_obj.subject#获取小白的学科
    # print(sub_obj)

Reverse query:

 #反向查询,查询python学科对应的学生
    python_obj = models.Subject.objects.get(name='python')
    python_list = models.Subject.objects.filter(name='python')[0]#filter返回的是列表
    student_lst=python_obj.student_set.all()
    # print(student_lst)
    # print(python_obj)
    # print(python_list)

Many-to-many forward query:
#Many-to-many forward query, query the students taught by
Zhang San
teacher_obj=models.Teacher.objects.get( name="Zhang San") teacher_stu=teacher_obj.student.all()
print(teacher_stu)

Reverse query: #Reverse
query, query how many teachers
Xiao Hei has taught stu_teacher=models.Student.objects.get(name=“小黑”)
stu_tea_list=stu_teacher.teacher_set.all()
print(stu_tea_list)

return render(request,'index.html')

Guess you like

Origin blog.csdn.net/HobbitX/article/details/87991157