django怎么判断数据库的记录是不是存在
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django怎么判断数据库的记录是不是存在相关的知识,希望对你有一定的参考价值。
我觉得楼上的回答好像有点问题。大家可以自行验证一下我是否正确。
用get查询的时候,查询不到内容的时候会抛出异常,同样查询结果多余1条的时候也会抛出异常。因此,不能使用get,而应该使用filter。
filer若是查询不到数据,会返回一个空的查询集,[] type类型是:Queryset。
查询到多余一条的时候会,还是会返回一个包含多个对象的查询集。
所有用filter查询到的是否为'[ ]'来判断是否存在。
userinfo = Users.objects.filter(email = request.POST['email'])if userinfo.exists():
print("yes,we have this email")
else:
print("sorry,email is not register")
另外还可以使用count()这个方法,userinfo.count() =0的话表示不存在数据,大于0的话表示存在一条或多条。
还有就是楼上的答案:if uerinfo:..........else: .......
参考技术A用if语句判断一下就可以了,比如
查找users表中是否存在email为接收到email的记录
userinfo = Users.objects.get(email = request.POST['email'])if userinfo:
print("yes,we have this email")
else:
print("sorry,email is not register")本回答被提问者采纳
Android判断SD卡是不是存在的实现
Android作为一个智能手机操作系统,SDK对SIM卡的读取有相关的操作,都封装在framework中
和SIM卡相关的类主要有以下几个:
IccConstants (里面记录很多的常量,主要用来存储某个字段在SIM卡上的位置是什么,比如ADN(sim卡上的电话本),6F3A, FDN(固定拔号 6F3B))IccCardStatus(记录SIM卡的状态,如ABSENT, READY,UNKNOW,ETC)
IccFileHandler(这个是用来SIM卡上的RECORD读完后,要处理什么事情)
IccRecords(SIM卡上的文件内容,每一个字段,一个RECORD)
IccProvider(手机上的数据库,读出来的数据全放这)
IccUtils(里面一般全是静态方法,主要用来码制转换)
IccSmsInterfaceManager,IccCard(这个是一个抽象类,会根据上面手机的制式,自动起一个SIMCARD 或者RUIMCARD)
以GSM为例说下读取的过程:
根据SIM卡的类型,进入SIMRecords, 开始探测SIM卡的状态,因为,有些SIM卡会设置有PIN码,如果SIM卡有PIN码的话,手机会弹出输入PIN码的框,等待用户进行解码,注意,这个时候,如果PIN码如果没有解的话,手机是不会去读SIM卡的,因为,读SIM卡时,必须通过PIN才能去读,只有一些比较特殊的字段,可以不用,比如ECC 也就是紧急呼叫号码(一般存在卡上,运营商定制的)。同时,这PIN码未解的情况,手机中SIM卡的状态也是PIN_REQURIED_BLOCK。
当解完PIN码,或是手机没有设置PIN码,这时,手机的会探测到SIM是READY的状态,手机只有检测到SIM READY,才会发出读卡的请求。
手机开始读卡第一个是IMSI(International Mobile SubscriberIdentification Number)主要用来查找运营商的网络,里面有MCC,MNC,ICCID(Integrate circuit card identity)唯一标识一个移动用户。
当低层的MODEM读到字段结果后,会有一个返回结果,由于发送读取请求时,有一个事件信息EVENT_GET_BINARY_SIZE_DONE,当有返回时,会直接交给IccFileHandler,然后由IccFileHandler转发给SIMRecords,最后进行处理该字段读完后应该执行的操作。
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
2实现方法:
private boolean ExistSDCard()
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED))
return true;
else
return false;
扩展:
获取sd卡的路径:String path = Environment.getExternalStorageDirectory(); 参考技术B 核心提示:Android中判断SD卡是否存在,并且可以进行写操作,,可以使用如下代码if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))本回答被提问者采纳
以上是关于django怎么判断数据库的记录是不是存在的主要内容,如果未能解决你的问题,请参考以下文章
java怎么判断集合中是不是存在重复数据,如果存在怎么删除重复数据