class UserInfo(models.Model):
"""
人员信息
"""
user_id = models.CharField(max_length=20, primary_key=True, blank=False, verbose_name='人员ID')
user_name = models.CharField(max_length=200, blank=False, verbose_name='姓名')
sex = models.CharField(max_length=20, blank=False, verbose_name='性别')
id_num = models.CharField(max_length=20, blank=False, verbose_name='身份证号')
zzmm = models.CharField(max_length=100, default='3', verbose_name='政治面貌')
class Meta:
db_table = 'NRLJ_USER_INFO_1'
----方法展示
from django.shortcuts import get_object_or_404
# 查询全部
users = UserInfo.objects.all()
# 查询单个
user = UserInfo.objects.get(user_id='123')
# 新增
user = UserInfo(user_id='123', user_name='张三', sex='男', id_num='123456', zzmm='1' )
user.save()
# 更新
user = get_object_or_404(UserInfo, user_id='123')
user.user_name = '李四'
user.save()
# 删除
user = get_object_or_404(UserInfo, user_id='123')
user.delete()
这里的 get_object_or_404() 是 Django 提供的快捷方法,
用于在数据库中获取某个对象,如果对象不存在,就返回 404 错误页面。
在这里, get_object_or_404() 方法用于获取数据库中
user_id = '123' 的用户对象,如果不存在,就返回 404 错误页面。
在Django中,可以通过在查询中使用Q对象,在query参数中加入多个查询条件,实现多条件查询。
例如,假设我们要查询性别为男性、政治面貌为群众的人员信息:
from django.db.models import Q
users = UserInfo.objects.filter(Q(sex='男') & Q(zzmm='群众'))
Q对象用于表示一个查询条件,&表示逻辑与操作,表示满足两个条件同时成立;|表示逻辑或操作,表示满足两个条件中的一个即可。多个Q对象可以组合使用,实现复杂的查询逻辑。
当然,除了使用Q对象之外,也可以直接在查询条件中传入多个参数,例如:
users = UserInfo.objects.filter(sex='男', zzmm='群众')
这两种方法并没有明显的优劣之分,可以根据具体情况进行选择。