当前位置: 首页 > Web前端 > vue.js

vue-cli4开发一个完整的商城今天油条-带数据库,带微信登录,带微信支付,带定位,带手机验证码开发,源码下载即可上线

时间:2023-04-01 11:53:49 vue.js

下载地址www.duanshuilu.com数据库代码【Django数据库表结构设计多对多】;“复制代码”)fromdjango.dbimportmodelsclassUserInfo(models.Model):username\=models.CharField(max\_length=32)def\_\_str\_\_(self):returnself.usernameclassUserGroup(models.Model):group\_name\=models.CharField(max\_length=64)user\_info\=models.ManyToManyField(to='UserInfo',related\_query\_name='m2m')def\_\_str\_\_(self):returnself.group\_name第一种:models.py创建多对多表;"复制代码");"复制代码")fromdjango.shortcutsimportHttpResponsefromapp01importmodelsdeform(request):user\_info\_obj\=models.UserInfo.objects.get(username='zhangsan')user\_info\_objs\=models.UserInfo.objects.all()group\_obj\=models.UserGroup.objects.get(group\_name='group\_python')group\_objs\=models.UserGroup.objects.all()#添加:转发group_obj.user_info.add(user_info_obj)group\_obj.user\_info.add(\*user\_info\_objs)#删除:转发group_obj.user_info.remove(user_info_obj)group\_obj.user\_info.remove(\*user\_info\_objs)#添加:反转我们er_info_obj.usergroup_set.add(group_obj)user\_info\_obj.usergroup\_set.add(\*group\_objs)#删除:反向user_info_obj.usergroup_set.remove(group_obj)user\_info\_obj.usergroup\_set.remove(\*group\_objs)#查找:转发print(group\_obj.user\_info.all())#查找group中的所有用户\_pythongroupprint(group\_obj.user\_info.all().filter(username='zhangsan'))#查找:反向print(user\_info\_obj.usergroup\_set.all())#查找用户zhangsan所属的组print(user\_info\_obj.usergroup\_set.all().filter(group\_name='group\_python'))#双下划线正向反向查找#正向:从用户组表中查找zhangsan属于哪个用户组:\[\]print(models.UserGroup.objects.filter(user\_info\_\_username='zhangsan'))#反向:从user表查询哪些用户在group\_python组中:related\_query\_name='m2m'print(models.UserInfo.objects.filter(m2m\_\_group\_name='group\_python'))#自动创建daUserInfo表和UserGroup表中的ta'''user\_list=\[{'username':'zhangsan'},{'username':'lisi'},{'username':'wangwu'},\]group\_list=\[{'group\_name':'group\_python'},{'group\_name':'group\_linux'},{'group\_name':'group\_mysql'},\]forcinuser\_list:models.UserInfo.objects.create(\*\*c)forlingroup\_list:models.UserGroup.objects.create(\*\*l)'''returnHttpResponse('orm')第一种:views.py根据queryset对象进行增删改查;《复制代码》)第二种:自己创建第三张关系表,不带m2m字段,自己链表查询;"复制代码")fromdjango.dbimportmodels#Table1:主机表类Host(models.Model):nid\=models.AutoField(primary\_key=True)hostname\=models.CharField(max\_length=32,db\_index=True)#表2:应用表classApplication(models.Model):name\=models.CharField(max\_length=32)#表3:自定义第三个关联表classHostToApp(models.Model):hobj\=models.ForeignKey(to="Host",to\_field="nid")aobj\=models.ForeignKey(to='Application',to\_field='id')#向第三张表插入数据并创建多对多外键Key关联HostToApp.objects.create(hobj_id=1,aobj_id=2)第二种:有第三张表,没有m2m字段models.py;“复制代码”);“复制代码”)fromdjango.dbimportmodelsclassHost(models.Model):hostname\=models.CharField(max\_length=32,db\_index=True)classGroup(models.Model):group\_name\=models.CharField(max\_length=32)m2m\=models.ManyToManyField("Host")第三种:模型。py创建多对多表;"复制代码");"复制代码")fromdjango.shortcutsimportHttpResponsefromapp01importmodelsdeform(request):#使用indirect方式对第三张表进行操作obj=models.Group.objects.get(id=1)#1.添加obj.m2m.add(1)#添加一个条目到第三个表(1,1)obj.m2m.add(2,3)#添加一个条目到第三个table(1,2)(1,3)两个关系obj.m2m.add(\*\[1,3\])#在第三个表中添加条目(1,2)(1,3)两个关系#2.deleteobj.m2m.remove(1)#删除第三个表中的(1,1)项obj.m2m.remove(2,3)#删除第三个表中的(1,2)(1,3)项obj.m2m.remove(\*\[1,2,3\])#删除第三个表中的(1,1)(1,2)(1,3)条目#3.清除obj.m2m.clear()#删除第三张表中applicationentry等于1的所有条目#4Updateobj.m2m.set(\[1,2,\])#删除第三张表中的所有条目,然后创建(1,1)(1,2)Item#5搜索print(obj.m2m.all())#等价于models.UserInfo.objects.all()#6反向查找:双下划线hosts=models.Group.objects.filter(m2m\_\_id=1)#Host表中id=1的主机同时属于那些组#自动创建Host表中的编号和Gro上桌根据'''hostname=\[{'hostname':'zhangsan'},{'hostname':'lisi'},{'hostname':'wangwu'},\]group\_name=\[{'group\_name':'DBA'},{'group\_name':'public'},\]forhinhostname:models.Host.objects.create(\*\*h)foruingroup\_name:models.group.objects.create(\*\*u)'''returnHttpResponse('orm')第三种:views.py根据id增删改查;"复制代码")一大波Model操作[];"复制代码")fromdjango.shortcutsimportHttpResponsefromapp01importmodelsdeform(request):#1create#创建数据方法一models.UserInfo.objects.create(username='root',password='123')#createdatamethod2.obj=models.UserInfo(username='alex',password='123')obj.save()#createdatabasemethod3(输入字典前面必须有两个星号)dic={'username':'eric','password':'666'}models.UserInfo.objects.create(\*\*dic)#2checkresult=models.UserInfo.objects.all()#查找所有条目result=models.UserInfo.objects.filter(username='alex',password='123')forrowinresult:print(row.id,row.username,row.password)#3deletemodels.UserInfo.objects.all().delete()#删除所有有models.UserInfo.objects.filter(username='alex').delete()#删除指定#4更新models.UserInfo.objects.all().update(password='12345')models.UserInfo.objects。filter(id\=4).update(password='15')#5获取数字models.UserInfo.objects.filter(name='seven').count()#6执行原生SQL#6.1执行原生SQLmodels。UserInfo.objects.raw('select\*fromuserinfo')#6.2如果SQL是另外一张表,name必须设置为当前UserInfo对象的主键列名models.UserInfo.objects.raw('selectidasnidfromothertables')#6.3指定数据库models.UserInfo.objects.raw('select\*fromuserinfo',using="default")returnHttpResponse('orm')基本操作

最新推荐
猜你喜欢