
一对多表关系数据的添加:
1.第一种方式就是跟之前的一样,用传参的方法添加,需要注意的是外键的值必须是关联表中已经存在的值.
2.第二种方式是用的属性赋值的方式,因为我们在模型类有定义了一个department的属性,而这个属性的对象的类型必须是department表的类实例对象
表关联对象的访问:
Student的模型类中我们有定义department的属性,所以当我们去访问的时候,可以直接通过student.department的形式去找到某个学生的所属学院是哪个.
那么如果我们也希望在在访问某个学院的实现对象的学生的时候改怎么访问呢???
表关联对象的访问:
可以在定义时设置related_name 参数来覆盖foo_set 的名称.
clear()从关联的对象集中删除所有的对象
多表查询----跨关联关系的查询:
Django 提供一种强大而又直观的方式来“处理”查询中的关联关系,它在后台自动帮你处理JOIN。 若要跨越关联关系,只需使用关联的模型字段的名称,并使用双下划线分隔,直至你想要的字段:
它还可以反向工作。若要引用一个“反向”的关系,只需要使用该模型的小写的名称。
有两种方法:1)save通过创建模型类对象,执行对象的save()方法保存到数据库中。>>>from datetime import date>>>book = BookInfo(btitle=西游记,bpub_date=date(1988,1,1),bread=10,bcomment=10)>>>book.save()>>>hero = HeroInfo(hname=孙悟空,hgender=0,hbook=book)>>>hero.save()>>>hero2 = HeroInfo(hname=猪八戒,hgender=0,hbook_id=book.id)>>>hero2.save()2)create通过模型类.objects.create()保存。>>>HeroInfo.objects.create(hname=沙悟净,hgender=0,hbook=book)<HeroInfo: 沙悟净>在黑马程序员社区的技术交流当中,还有删除,改懂,查询的 *** 作全部方法。price 不需要单独写成一个Model,另外,据你描述,产品和工厂是多对多的关系,因为:A对应a,b,d
d对应A,B
所以product那一行应写成:
product = models.ManyToManyField(Product)
最后,factory那一行不知道什么意思,代表什么?
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)