django 一对多关系物理外键

本文详细介绍了在Django框架中如何使用ORM操作一对多的数据库关系,包括创建、查询、更新和删除等基本操作,同时展示了如何通过班级模型获取所有学员信息,以及如何通过学员模型获取其所在班级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 创建学员模型
class Stu(models.Model):
    sname = models.CharField(max_length=6)
    age = models.IntegerField()
    # 一对多
    cid = models.ForeignKey(to="ClassInfo", to_field="id")


# 定义 班级 模型
class ClassInfo(models.Model):
    cname = models.CharField(max_length=10)
    code = models.IntegerField()


# 一对多的操作
def onetomore(request):
    # 添加

        # # 创建班级
        # ob = ClassInfo(cname="python17",code=707)
        # ob.save()


        # # 创建学员
        # sob = Stu(sname='王五',age=23,cid=ob)
        # sob.save()

    # 查询

        # 通过班级,获取当前班级的所有学员
            # ob = ClassInfo.objects.first()
            # print(ob.cname)
            # # 注意 与之关联的模型类名 小写_set.查询方法
            # print(ob.stu_set.all())

        # 通过学员,获取当前学员所在班级
            # ob = Stu.objects.last()
            # print(ob.sname)
            # print(ob.cid.cname)

    # 删除
    # ob = ClassInfo.objects.first()
    # ob.delete()


    return HttpResponse('一对多的操作')




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值