Django多对多的创建
2024-09-03 20:11:39
1.多对多创建的应用场景:
在某表中创建一行数据是,有一个可以多选的下拉框
例如:创建用户信息,需要为用户指定多个爱好
2.创建方式:
方式一:自定义关系表,手动创建一张表用于关联其他多张表的关系
class Host(models.Model):
nid=models.AutoField(primary_key=True)
hostname=models.CharField(max_length=32,db_index=True)
ip=models.GenericIPAddressField(db_index=True)
port=models.IntegerField()
business=models.ForeignKey(to='Business',to_field='id')#business_id class App(models.Model):
name=models.CharField(max_length=32)
class ConnHostApp(models.Model):
hobj=models.ForeignKey(to='Host',to_field='nid')
aobj=models.ForeignKey(to='ConnHostApp',to_field='id')
方式二:Django自动创建关系表
class Host(models.Model):
nid=models.AutoField(primary_key=True)
hostname=models.CharField(max_length=32,db_index=True)
ip=models.GenericIPAddressField(db_index=True)
port=models.IntegerField()
business=models.ForeignKey(to='Business',to_field='id')#business_id class App(models.Model):
name=models.CharField(max_length=32)
r=models.ManyToManyField('Host')
最新文章
- linux-图形化远程管理协议
- (转)Android消息处理机制(Handler、Looper、MessageQueue与Message)
- java 内存机制
- Java反编译插件JadClipse
- gerrit: Error in POST /accounts/self/preferences
- bzoj 3997 [TJOI2015]组合数学(DP)
- 添加xml文件编辑语法提示
- location对象的使用
- ImportError: No module named 'request'
- 一起学习Hibernate: Hibernate01 —— Hibernate的概述与入门案例
- 对DataTable(或者DataSet)修改后,提交修改到数据库
- Apache Tomcat 7 Configuration BIO NIO AIO APR ThreadPool
- springboot设置session超时和session监听
- oss上传和下载的笔记
- jenkins+git+maven 增量部署思路以及相关脚本
- 18.1 volatile的作用
- JAVA中的COPYONWRITE容器
- 8.中断按键驱动程序之poll机制(详解)
- Jenkins中使用GitLab的配置
- 【java】浅析java组件中的布局管理器