En muchas supresiones relación matraz de búsqueda cambio tabla maestra

modelo

# 学生和课程多对多
class Student(db.Model):
    __tablename__ = "students"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)

    relate_courses = db.relationship('Course', secondary=student_course,
                              backref='relate_student',
                              lazy='dynamic')


class Course(db.Model):
    __tablename__ = "courses"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
   

student_course = db.Table('student_course',
                             db.Column('student_id', db.Integer, db.ForeignKey('students.id')),
                             db.Column('course_id', db.Integer, db.ForeignKey('courses.id'))
                             )

Tercera tabla instrucción SQL:

create table student_course(
	student_id int not null,
	course_id int not null,
	primary key(student_id, course_id)
)

Tanto consulta sencilla y Modificar

1, comprobar cursos seleccionados de los estudiantes Joe Smith '

course_list = Student.query.filter_by(name='张三').first().relate_course.all()

2, opción de verificación de la empatía "lenguaje" de los estudiantes

student_list = Course.query.filter_by(name='语文').first().relate_course.all()

3, la opinión: posicionamiento obj -> Revisión

#  把 张三 选的语文课改成 物理
course_list = Student.query.filter_by(name='张三').first().relate_course.all()
obj = course_list.filter_by(name='语文').first()
obj.name = '物理'
db.session.commit()

adición

# 张三 新选了 体育课
cus = Course(name="体育课")
stu = Student.query.filter_by(name='张三').first()
stu.relate_course.append(cus)
db.session.commit()

Eliminar

# 张三  删除了 语文课
cus = Course.query.filter_by(name='语文').first()
stu = Student.query.filter_by(name='张三').first()
stu.relate_course.remove(cus)
db.session.commit()

el blog de referencia

Publicado 53 artículos originales · ganado elogios 0 · Vistas 4282

Supongo que te gusta

Origin blog.csdn.net/zy_whynot/article/details/104762015
Recomendado
Clasificación