django(四)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了django(四),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2503字,纯文字阅读大概需要4分钟。
内容图文
一、数据调用下拉菜单内容
viwes.py
from django.shortcuts import render,HttpResponse,render_to_response from django import forms from app01 import models class IndexForm(forms.Form): # c = [# (1,‘CEO‘),# (2,‘COO‘)# ] c = models.UserType.objects.all().values_list(‘id‘,‘caption‘) user_type_id = forms.IntegerField(widget=forms.Select(choices=c)) def__init__(self,*args, **kwargs): #这段目的添加完用户类型,网页立即显示 # 父类构造方法:1、获取所有静态字段 2、fields = [] super(IndexForm, self).__init__(*args, **kwargs) # print(self.fields[‘user_type_id‘].widget.choices) self.fields[‘user_type_id‘].widget.choices = models.UserType.objects.all().values_list(‘id‘,‘caption‘) def index(request): # for i in range(10): #添加表数据# models.UserType.objects.create(caption=‘CE‘+str(i)) # c = models.UserType.objects.all().count()# print(c) form = IndexForm() return render(request, ‘index.html‘, {‘form‘: form}) def add_user_type(request): #get http://127.0.0.1:8000/add_user_type?q=CVO 方式可以添加用户类型CVO q = request.GET.get(‘q‘, None) if q: models.UserType.objects.create(caption=q) return HttpResponse(q)
model.py
from django.db import models # Create your models here.class UserType(models.Model): caption = models.CharField(max_length=16)
显示效果
二、
model操作 F/Q
F:
temp = salary+500
models.UserInfo.objects.filter().update(salary=temp)
update userinfo set salary=salary+500
from django.db.models import F
models.UserInfo.objects.filter().update(salary=F(‘salary‘)+500)
Q:
构造搜索条件
1、传参
models.UserInfo.objects.filter(id=123,name=‘alex‘)
2、传字典
d = {‘id‘: 123, ‘name‘:‘alex‘}
models.UserInfo.objects.filter(**d)
<input name=‘id‘ />
<input name=‘name‘ />
获取用户输入,并构造成字典:
models.UserInfo.objects.filter(**c)
3、传Q对象
models.UserInfo.objects.filter(Q对象)
viwes.py
def index(request): form = IndexForm() from django.db.models import Q """ q1 = Q() q1.connector = ‘OR‘ q1.children.append((‘id‘, 1)) q1.children.append((‘id‘, 2)) q1.children.append((‘id‘, 3)) # 1 CE0 # 2 CE1 # 3 CE2 obj = models.UserType.objects.filter(q1) for item in obj: print(item.id,item.caption) """ con = Q() q1 = Q() q1.connector = ‘OR‘ q1.children.append((‘id‘, 1)) q1.children.append((‘id‘, 2)) q1.children.append((‘id‘, 3)) q2 = Q() q2.connector = ‘OR‘ q2.children.append((‘caption‘, ‘CE1‘)) q2.children.append((‘caption‘, ‘CE2‘)) con.add(q1, ‘AND‘) con.add(q2, ‘AND‘) obj = models.UserType.objects.filter(con) for item in obj: print(item.id,item.caption) return render(request, ‘index.html‘, {‘form‘: form})
# 2 CE1 # 3 CE2
三、中间件
原文:http://www.cnblogs.com/wudalang/p/5880768.html
内容总结
以上是互联网集市为您收集整理的django(四)全部内容,希望文章能够帮你解决django(四)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。