导入数据方式:
* run sql script
* python脚本。脚本里就是用python django rom去写一些数据创建的语句。
* manage.py loadata xxx.json
批量导入数据 2:00
终于看到了update_or_create的用法
向数据表中导入数据的三种方式:
django shell: python manage.py shell => from courses.teacher import Teacher => t = Teacher(nickname="jack")=>t.save()
通过脚本导入数据(见截图)
Teacher.objects.create(nickname="Jack", introduction="Python工程师", fans=123)
Course.object.bulk_create([Course(title="Python系列教程(1)", teacher=Teacher.objects.get(nickname="Jack"), type=.....)])
Student.objetcs.update_or_create(nickname="ABC", default={"age": 18, "gender": 2, "study_time": 0})
TeacherAssistant.objects.get_or_create(nickname="助教1", default={"hubby": "慕课网学习", "teacher": Teacher.objects.get(nickname="Jack")})
关联外键:
正向添加: Student.objects.get(nickname="ABC").course.add(*Course.objects.filter(volume__gte=1000)) # ABC学生关联到销量大于1000的课程
反向添加: Course.objetcs.get(title="Python系列教程2").student_set.add(*Student.objetcs.filter(study_time__gte=500)) #关联到学习时间大于500小时的同学
fixtures Django Serialization:提供一种可以被Django的Serialization识别的json格式的文件
导出数据: python manage.py dumpdata > xxxx.json
导入数据: python manage.py loaddata xxxx.json
能被models识别的json文件格式:
导入数据的多种方式2:
teacher 1 ---- n course n ---- n student