首页 > 其他分享 >模型对象操作

模型对象操作

时间:2024-03-13 18:55:30浏览次数:22  
标签:对象 创建 模型 clazz objects student 操作 Clazz

学生根据兴趣选择不同的兴趣班,其中学生和班级是多对多的关系。

使用创建模型对象的方式新增数据

# -*- coding: utf-8 -*-
# @Author: Lila

# 初始化django配置
import os
import django
import random
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog_manager.settings")
django.setup()

# 导入模型
from cla_stu.models import *

# 清空数据
Clazz.objects.all().delete()
Student.objects.all().delete()

# 创建3个Clazz对象
clazz1 = Clazz.objects.create(cname="舞蹈班")
clazz2 = Clazz.objects.create(cname="编程班")
clazz3 = Clazz.objects.create(cname="西班牙语班")

"""
student = Student.objects.filter(id=1).first()#指定一个学生
set_list = []#创建空列表来存放课程
a = 7#
for name in ["舞蹈班", "编程班","西班牙语班"]:
    set_list.append(Clazz(cname=name, id=a))  # 手动指定id
    a += 1
aa = student.clazz.bulk_create(set_list)  # 返回给aa的是一个列表,里面的元素为Course对象
student.clazz.set(aa)  # 通过set方法进行关联关系的建立
"""
# 循环创建10个Student对象
students = []
for i in range(1, 11):
    student = Student.objects.create(sno=f"S{i}", sname=f"学生{i}", sage=20)
    # 随机选择一个兴趣班,并将其与学生关联
    clazz = random.choice([clazz1, clazz2, clazz3])
    student.clazz.add(clazz)

创建对象指定关系的另一种方法

# 创建班级对象并保存
c1 = Clazz(cname='烹饪课')
c1.save()
#记得clazz对象创建要在student对象创建前面,不然stu无法关联一个未创建的对象
# 创建学生对象并指定关系
stu1 = Student(sno='1', sname='江直树', sage=20, clazz=c1)
stu1.save()

注意事项

我最开始把脚本文件创在migrations文件夹里面,但是出现了报错,说找不到migrations文件夹

后面我把脚本文件创在migrations外面就不报错了

最后,中间表会生成学生和班级的关系数据:

标签:对象,创建,模型,clazz,objects,student,操作,Clazz
From: https://www.cnblogs.com/lila720/p/18071316

相关文章

  • 模型定义
    要求:学生根据兴趣选择不同的兴趣班,其中学生和班级是多对多的关系。1、完成学生和班级的模型定义2、提交代码截图。解答:`fromdjango.contrib.auth.modelsimportUserfromdjango.dbimportmodels--coding:utf-8--Author:LilaCreateyourmodelshere.classClazz(......
  • 探索自然语言处理:语言模型的发展与应用
    简介自然语言处理(NaturalLanguageProcessing,NLP)是人工智能领域的一个重要分支,它致力于让计算机能够理解、解释、处理人类语言。在NLP中,语言模型是一个关键概念,它是对语言数据的统计学建模,用于预测给定上下文中的下一个单词或字符。随着技术的不断进步,语言模型的发展与应用变......
  • 每日一看大模型新闻(2024.1.11)2024属于小模型时代?TinyLlama 小模型发布后爆火:参数轻量
    1.产品发布1.1红旗品牌虚拟代言人上线“旗羿”和“旗妙”发布日期:2024.1.11一汽红旗携手腾讯混元大模型,提升服务体验主要内容:一汽红旗品牌近日推出了微信小程序“旗羿旗妙说”,该小程序基于腾讯混元大模型提供智能底座,为一汽红旗进行了全面的知识升级。同时,腾讯QQ联合一汽......
  • yolov5模型压缩-PAGCP
    参考论文:Performance-awareApproximationofGlobalChannelPruningforMultitaskCNNs(https://arxiv.org/pdf/2303.11923.pdf)基本原理:研究不同卷积核之间的联合重要性来实现全局剪枝策略模型压缩效果在yolov5上进行剪枝训练,流程如下:1、按照yolo正常训练2、和mod......
  • yolov5模型压缩-eagleeye
    参考论文:EagleEye:FastSub-netEvaluationforEfficientNeuralNetworkPruning(https://arxiv.org/abs/2007.02491)基本原理:揭示剪枝不同的DNN结构对最终精度的影响,从而找到现在的剪枝后精度最高的模型模型压缩效果1、新建eagleeye.py,添加如下代码:importargparseim......
  • 【模型转换】PyTorch模型转ONNX模型
    我们主要使用torch.onnx.export()函数来实现PyTorch模型到ONNX模型的转换。importtorchimporttorchvision.modelsasmodelsdevice="cpu"#加载预训练的ResNet18模型model=models.resnet18(pretrained=True)model.eval().to(device)#定义输入input=torc......
  • R语言【paleoTS】——compareModels:比较模型适合于古生物学时间序列
    Package paleoTS version0.5.3Description获取模型拟合函数的输出,并将模型拟合信息(对数似然、AICc等)编译成一个方便的表。UsagecompareModels(...,silent=FALSE,sort=FALSE)Arguments参数【...】:任意数量的模型拟合(as.paletsfit)对象。参数【silent】......
  • R语言【paleoTS】——as.paleoTSfit:创建一个paleoTSfit对象
    Package paleoTS version0.5.3Usageas.paleoTSfit(logL,parameters,modelName,method,K,n,se)Arguments参数【logL】:对数相似性模型。参数【parameters】:模型参数估计。参数【modelName】:模型名称。参数【method】:参数化,“AD”或“Joint”。参数【K】:模型......
  • Threejs实现模型对接音乐节奏
            昨天看到一个网站是2维的柱形图随着音乐节奏起伏,我突然想到二维形状可以起伏,三维应该也可以,最终原理应该都是将音乐频谱分解为数据,通过数据的切换不断地改变图形的形状来实现,因为找了分析音乐频谱的源码,解析完,再通过threejs的动画实现了3D场景下的模型随着音乐......
  • 从零开始利用MATLAB进行FPGA设计(一):建立脉冲检测模型的Simulink模型2
    目录1.模块的总体结构1.1从工作空间导入输入信号1.2FIR滤波器2.Subsystem3.MATLABFunction文章灵感来源于MATLAB官方免费教程:HDLCoderSelf-GuidedTutorial考虑到MATLAB官网的英文看着慢,再加上视频讲解老印浓浓的咖喱味,我决定记录利用MATLAB&Simulink&SystemGenerat......