问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

django如何获取模型修改时间(django修改数据)

发布网友 发布时间:2024-10-04 09:01

我来回答

1个回答

热心网友 时间:2024-10-05 11:04

导读:本篇文章首席CTO笔记来给大家介绍有关django如何获取模型修改时间的相关内容,希望对大家有所帮助,一起来看看吧。

django模型,如何动态设置查询的字段?

假设有这样一个字典a={'id':'123'}

那么获取mymodel这个对象的话,可以通过这样的一种方式

mymodel.objects.get(**a)

获取这个对象的id就mymodel.objects.get(**a).id即可

只要字典的key是mymodel中的字段就可以。希望有帮助

django中session怎么设置timeout

Django完全支持匿名SessionSession框架允许每用户保存并取数据数据保存服务器端并发送接收Cookie操作包装起Cookie包含SessionID数据本身启用Sessions?Session通间件式实现要启用Session功能需要完步骤:修改MIDDLEWARE_CLASSES设置并确定其包含'django.contrib.sessions.middleware.SessionMiddleware'``django-admin.pystartproject``所创建缺省settings.py已经激SessionMiddleware'django.contrib.sessions'添加INSTALLED_APPS设置并执行manage.pysyncdb便安装用于存储Session数据表格ChangedinDjango依.0:并未使用数据库存储Session则步骤忽略;参考配置Session引擎Ifyoudon’twanttousesessions,youmightaswellremovetheSessionMiddlewarelinefromMIDDLEWARE_CLASSESand'django.contrib.sessions'fromyourINSTALLED_APPS.It’llsaveyouasmallbitofoverhead.配置Session引擎?NewinDjango依.0..缺省情况DjangoSession存储数据库(使用模型django.contrib.sessions.models.Session)尽管便某些情况Session放其速度更快Django允许您通配置让Session数据保存文件系统或缓冲区使用基于文件Session?要使用基于文件Session请SESSION_ENGINE设置"django.contrib.sessions.backends.file"您能需要修改SESSION_FILE_PATH设置便控制Django存储Session文件位置缺省情况使用tempfile.gettempdir()通/tmp使用基于缓冲区Session?要使用Django缓冲区系统保存Session需要SESSION_ENGINE设置"django.contrib.sessions.backends.cache"您必须确保您已经配置缓冲区详情请参考缓冲区文档Note使用Memcached作缓冲台才能使用基于缓冲区Session本内存作缓冲台存储缓冲数据间太短直接访问文件或数据库速度要比通缓冲区访问文件或数据库速度更快些视图使用Session?启SessionMiddleware每HttpRequest象(Django视图函数第参数)救火session属性类字典象您直接其读写Session象标准字典函数:__getitem__(key)例:fav_color=request.session['fav_color']__setitem__(key,value)例:request.session['fav_color']='blue'__delitem__(key)例:delrequest.session['fav_color'].ThisraisesKeyErrorifthegivenkeyisn’talreadyinthesession.__contains__(key)例:'fav_color'inrequest.sessionget(key,default=None)例:fav_color=request.session.get('fav_color','red')keys()items()setdefault()clear()NewinDjango依.0:setdefault()clear()版本新加:flush()NewinDjango依.0.数据库删除前Session数据并且重新Session键并其发送给浏览器用于需要确保Session数据再用户浏览器访问譬调用django.contrib.auth.logout()set_test_cookie()设定检测Cookie检验用户浏览器否支持CookieCookie工作式用户请求前您都测试结详情参考面设置检测Cookietest_cookie_worked()判断用户浏览器否收检测Cookie并返True或FalseCookie工作式您必须前独立请求调用set_test_cookie()详情参考面设置检测Cookiedelete_test_cookie()删除检测Cookie请自调用函数便清除该Cookieset_expiry(value)NewinDjango依.0.设定Session期间您提供述几种形式值:value整形则表示秒例调用request.session.set_expiry(三00)让Session五钟期valuedatetime或timedelta象则Session相应期或间点期valueis0则用户Session浏览器关闭期valueisNone则Session使用全局策略设定期间get_expiry_age()NewinDjango依.0.获Session期间于没自定义期间Session(或浏览器关闭期Session)函数返值与settings.SESSION_COOKIE_AGE相同get_expiry_date()NewinDjango依.0.获Session期间点于没自定义期间Session(或浏览器关闭期Session)函数返值等于现间点settings.SESSION_COOKIE_AGE秒数get_expire_at_browser_close()NewinDjango依.0.返Session否浏览器关闭期返值True或False您视图任何位置都修改request.session改少都行Session象指南?直接request.session使用Python字符串作字典键比使用Session象更直接Session字典划线始键保留给Django内部使用要用新象覆盖request.session要访问或修改属性能作类字典象使用例?简单视图用户提交评价信息变量has_commented设定True防止用户提交评价信息:defpost_comment(request,new_comment):ifrequest.session.get('has_commented',False):returnHttpResponse("You'vealreadycommented.")c=comments.Comment(comment=new_comment)c.save()request.session['has_commented']=TruereturnHttpResponse('Thanksforyourcomment!')简单视图让中国站用户登录:deflogin(request):m=Member.objects.get(username=request.POST['username'])ifm.password==request.POST['password']:request.session['member_id']=m.idreturnHttpResponse("You'reloggedin.")else:returnHttpResponse("Yourusernameandpassworddidn'tmatch.")...与面例相应面例则让用户退:deflogout(request):try:delrequest.session['member_id']exceptKeyError:passreturnHttpResponse("You'reloggedout.")实际标准django.contrib.auth.logout()做些事情防止疏忽造数据泄露调用request.session.flush()函数我使用些例演示何操作Session象完整logout()实现设置检测Cookie?便起见Django提供种简单检测用户浏览器否支持Cookie要请求调用request.session.set_test_cookie()并续请求调用request.session.test_cookie_worked()即注意千万要同请求同调用所要两请求调用set_test_cookie()test_cookie_worked()Cookie工作模式您设定Cookie再请求前都没办知道浏览器否接收另外测试完毕使用delete_test_cookie()清除测试用数据典型例:deflogin(request):ifrequest.method=='POST':ifrequest.session.test_cookie_worked():request.session.delete_test_cookie()returnHttpResponse("You'reloggedin.")else:returnHttpResponse("Pleaseenablecookiesandtryagain.")request.session.set_test_cookie()returnrender_to_response('foo/login_form.html')视图外使用Session?NewinDjango依.0.API专门用于视图外操作Session数据:fromdjango.contrib.sessions.backends.dbimportSessionStores=SessionStore(session_key='贰b依依吧9a依吧吧b四四ad依吧c三5e依依三ac陆ceead')s['last_login']=datetime.datetime(贰005,吧,贰0,依三,三5,依0)s['last_login']datetime.datetime(贰005,吧,贰0,依三,三5,0)s.save()您使用django.contrib.sessions.backends.db台则每Session都普通Django模型模型Session文件django/contrib/sessions/models.py定义由于普通模型您使用Django数据库编程接口直接访问:fromdjango.contrib.sessions.modelsimportSessions=Session.objects.get(pk='贰b依依吧9a依吧吧b四四ad依吧c三5e依依三ac陆ceead')s.expire_datedatetime.datetime(贰005,吧,贰0,依三,三5,依贰)注意要获Session字典需要调用get_decoded()字典编码式存储:s.session_data'KGRwMQpTJ依9hdXRoX三VzZXJfaWQnCnAyCkkxCnMuMTExY贰ZjODI贰Yj...'s.get_decoded(){'user_id':四贰}Session何存储?缺省情况DjangoSession修改才保存即字典值修改或删除:#Sessionismodified.request.session['foo']='bar'#Sessionismodified.delrequest.session['foo']#Sessionismodified.request.session['foo']={}#Gotcha:SessionisNOTmodified,becausethisalters#request.session['foo']insteadofrequest.session.request.session['foo']['bar']='baz'于面通显示设定Session象modified属性通知Session象修改:request.session.modified=True要改变种行SESSION_SAVE_EVERY_REQUEST设定TrueSESSION_SAVE_EVERY_REQUESTTrue则Django每独立请求都保存Session注意创建或修改Session候才送SessionCookieSESSION_SAVE_EVERY_REQUESTTrue则每请求都送Cookie同送Cookieexpires部每都更新与浏览器同步Session持久Session?通设置SESSION_EXPIRE_AT_BROWSER_CLOSE您控制Session框架使用与浏览器同步Session或持久Session缺省情况SESSION_EXPIRE_AT_BROWSER_CLOSE值False表示SessionCookie保存用户浏览器直超SESSION_COOKIE_AGE您希望用户必每关闭浏览器都重新登陆请使用种式SESSION_EXPIRE_AT_BROWSER_CLOSE设定True则Django使用与浏览器同步Cookie即用户关闭浏览器Cookie期您希望用户每打浏览器都必须登录请使用种模式NewinDjango依.0.设置具全局缺省值通调用request.session.set_expiry()每Session设定独立值相关内容述视图使用Session所阐述清空Session表格?注意Session数据能堆积数据库表格django_sessionDjango提供自清除功能定期清空Session数据任务留给您要理解问题想像用户使用Session发用户登录Django向表格django_session添加条记录每Session数据变化Django更新条记录用户手工退Django删除用户没退则条记录永远都删除Django提供能够完清除功能例脚本django-admin.pycleanupSession表格删除些expire_date已经期记录您应用程序能其需求设置?些Django设置帮助您控制Session行:SESSION_ENGINE?NewinDjango依.0.缺省值:django.contrib.sessions.backends.db控制Django何处保存Session数据合值:'django.contrib.sessions.backends.db''django.contrib.sessions.backends.file''django.contrib.sessions.backends.cache'详情请参考配置Session引擎SESSION_FILE_PATH?NewinDjango依.0.缺省值:/tmp/您使用基于文件Session存储则变量控制着Django存储Session数据目录SESSION_COOKIE_AGE?缺省值:依贰09陆00(两周秒表示)SessionCookie期间秒表示SESSION_COOKIE_DOMAIN?缺省值:NoneSessionCookie域要设定跨域Cookie其设定".lawrence中国"形式否则请使用NoneSESSION_COOKIE_NAME?缺省值:'sessionid'Session所使用Cookie名称根据需要设定SESSION_COOKIE_SECURE?缺省值:False于SessionCookie否要使用安全模式设定True则Cookie标记安全种情况浏览器需要确定该Cookie否通HTTPS连接发送SESSION_EXPIRE_AT_BROWSER_CLOSE?缺省值:False否用户关闭浏览器让Session期详情参考文与浏览器同步Session持久SessionSESSION_SAVE_EVERY_REQUEST?缺省值:False否每请求都保存Session数据项False(缺省值)则Session数据修改才保存即字典值赋值或删除技术细节?Session字典接受任何与pickle兼容Python象详情参考pickle模块Session数据存储数据库表格django_sessionDjango需要候才发送Cookie您没设定任何Session数据送CookieURLSessionID?DjangoSession框架完全基于Cookie并且能基于Cookie像些软件(譬PHP)Session能工作SessionID放URL作决定经深思熟虑种仅使URL丑陋并且SessionID能通Referer泄漏给中国站带安全隐

js获取django某个表的时间格式怎么处理

不在form里,也不会被提交啊,你用firebug都看不到POST的内容,要么你写在form里,要么你用JS对这个加到form的submit里,这样就一起提交了

Pythondjango做时间判断

djaogo时间判断表达

时间

1、gt:大于某个时间

now=datetime.datetime.now()

前一天

start=now–datetime.timedelta(hours=23,minutes=59,seconds=59)

a=yourobject.objects.filter(youdatetimcolumn__gt=start)

2、gte:大于等于某个时间:

a=yourobject.objects.filter(youdatetimcolumn__gte=start)

3、lt:小于

a=yourobject.objects.filter(youdatetimcolumn__lt=start)

4、lte:小于等于

a=yourobject.objects.filter(youdatetimcolumn__lte=start)

5、range:查询时间段

start_date=datetime.date(2005,1,1)

end_date=datetime.date(2005,3,31)

Entry.objects.filter(pub_date__range=(start_date,end_date))

6、year:查询某年

Entry.objects.filter(pub_date__year=2005)

7、month:查询某月

Entry.objects.filter(pub_date__month=12)

8、day:某天

Entry.objects.filter(pub_date__day=3)

9、week_day:星期几

Entry.objects.filter(pub_date__week_day=2)

10、获取今天的日期,日期格式为yyyy-MM-dd

fromdjango.utils.timezoneimportnow,timedelta

date=now().date()+timedelta(days=-1)#昨天

date=now().date()+timedelta(days=0)#今天

date=now().date()+timedelta(days=1)#明天

Django中使用model怎么查询不等于某个值的情况

Model是django项目的基础,如果一开始没有好好设计好,那么在接下来的开发过程中就会遇到更多的问题.然而,大多数的开发人员都容易在缺少思考的情况下随意的增加或修改model.这样做的后果就是,在接下来的开发过程中,我们不得不做出更多努力来修正这些错误.

因此,在修改model时,一定尽可能的经过充分的考虑再行动!以下列出的是我们经常用到的一些工具和技巧:

South,用于数据迁移,我们会在每个django项目中都用到.但到django1.7时,将会有django.db.migrations代替.

django-model-utils,用于处理常见的模式,例如TimeStampedModel.

django-extensions,主要用到shell_plus命令,该命令会在shell中自动载入所有的app的model

1.基本原则

第一,将model分布于不同的app中.如果你的django项目中,有一个app拥有超过20个model,那么,你就应当考虑分拆该app了.我们推荐每个app拥有不超过5个model.

第二,尽量使用ORM.我们需要的大多数数据库索引都能通过Object-Relational-Model实现,且ORM带给我们许多快捷方式,例如生成SQL语句,读取/更新数据库时的安全验证.因此,如果能使用简单的ORM语句完成的,应当尽量使用ORM.只有当纯SQL语句极大地简化了ORM语句时,才使用纯SQL语句.并且,在写纯SQL语句是,应当优先考虑使用raw(),再是extra().

第三,必要时添加index.添加db_index=True到model中非常简单,但难的是理解何时应该添加.在建立model时,我们事先不会添加index,只有当以下情况时,才会考虑添加index:

在所有的数据库查询中使用率在10%-25%时

或当有真实的数据,或能正确估计出使用index后的效果确实满意时

第四,注意model的继承.model的继承在django中需要十分小心,django提供了三种继承方式,1.abstractbaseclass继承(不要和Pyhton标准库的abc模块搞混),2.多表(multi-table)继承,3.proxymodel继承.下表罗列了这三种继承的优劣:

django的创造者和其他许多开发人员都认为,多表继承的方法不是一个良好的方法.因此我们强烈建议大家不要使用该方法.下面列举了一些常见的如何选择model继承的情形:

如果只有少数model拥有重复的field时,大可不必使用model继承,只需要在每个model中添加这些相同的field即可.

如果有足够的model拥有重复的field时,大多是情况下,可以使用abstractbaseclass继承,将相同的field提取到abstractbaseclass中.

Proxymodel继承很少被用到,和其他两种继承也有着许多不一样之处.

请不要使用多表(multi-table)继承,因为它既消耗资源又复杂,如果可以,尽量使用OneToOneFields和ForeignKeys代替.

django项目中,创建时间和修改时间这两个field是最用到的,下面给出一个abstractbaseclass继承的例子:

2.DjangoModel的设计

如何设计出好的djangomodel可能是最难也是最复杂的一个话题了,在此,我们看看一些基本的技巧吧:

a.规范

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我现在九十斤每天跑半小时可以减肥吗? 一只蛋鸡吃多少饲料 永诚财险水滴重疾2021值得推荐吗?重疾赔付次数有多少? 瑞泰保险水滴瑞选重疾险好不好?值得买吗? 水滴守护真爱重大疾病保障计划值得推荐吗?可靠吗? 去西塘和乌镇 为什么生死狙击花圣总是玩人类 江门豪江华庭带装修吗? 江门豪江华庭售楼中心电话是多少? 这种美图软件叫什么? django的model模块怎么写(2023年最新分享) 影之诗手游异画卡是什么 异画卡获取途径详解 影之诗怎么获得异画 ThinkPHP CURDCURD分解 ...A+B—B+四个接线口,有的又只有AB两个接线口啊? 5月18日生日的明星中国有哪些 ...人民法院公开审判的刑事案件,应当先期公布下列哪些内容( ) (5.0... ...马某组织.领导黑社会性质组织案进行侦查,下列说法不合法的是?_百度... ...并办理了取保候审。关于本案的处理,下列哪一选项是正确的?_百度知 ... 我的电脑出现了打字母现数字,打数字现符号的情况,请问哪个懂电脑的人... 按数字变成了符号 本本电脑的键盘乱码是怎么回事? 步进电机驱动器方向控制时好时坏 石家庄第十中学乘车路线 iphone6plus语音信箱怎么关闭 怎样让孩子顺利渡过“开学恐惧症”期? 高中生家长如何助孩子克服“开学恐惧症” 什么是生物半衰期? ...我的程序为什么先输入一些% &¥这样的符号后,就不统计了 iphone4语音留言怎么开通? django如何存外键 道州交通状况 如何理解django中的模型(django模型数据类型) 我从衡阳到荆州,买了G1120次列车到武汉站,然后转车到荆州,又买了张D32... 趣谈网络协议栈,七层模型下三层数据通信 从荆州到衡阳怎么坐车最近呀? 衡阳到荆州沙市 有没有直到沙市的汽车站吗? 狗狗尿液像白水一样正常吗 狗狗之前小便都是浅黄色。今天小便跟清水一样 是怎么回事 是生病了吗... 请问潍坊金马怡园32号楼高层选择26楼好吗?一共27层楼顶带阁楼。 谁有动漫《妖狐X仆SS》这两张高清大图 求这组妖狐x仆ss原图 妖狐x仆ss tian脚图高清。就是这张 清楚一点 求《樱花庄的的宠物女孩》椎名真白的图片和《妖狐x仆ss》中白鬼... 道县到广东中山市具体路线 中山—道州有几公里 中山市从二厂高速到湖南嘉禾有多少公里 89级的人物到哪烧双 梦幻西游89级 109的人都在哪里组队啊 双那里怎么没有阿 在桂林回到道县的,火车票最晚是几点钟啊?