Django模型——复习游标的使用

本文介绍如何在Django框架中使用游标(cursor)执行SQL查询,并将查询结果转化为字典列表,便于处理和输出。通过实例演示了获取数据库连接、创建游标、执行SQL、获取查询结果的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前使用robot framework那个自动化框架,查询数据库的数据,输出的结果,都是列表,每一条数据都对应一个字典数据,key为字段名,value为数据值。于是练习的时候就想着实现这个效果,实现了就分享一下,方便自己以后查看。


def execute_cursor(request):
    '''
    使用游标——cursor执行数据库脚本
    1.获取数据库的链接——connection
    2.根据链接获取游标——cursor
    3.根据游标来执行SQL——execute
    4.获取查询结果——fetchall
    以上单词必须牢记
    :param request:
    name:员工姓名
    :return:
    数据查询结果
    '''
    sql = 'SELECT * FROM staff s ' + 'WHERE s.name=%s;'
    name = request.GET.get('name')
    cursor = connection.cursor()
    cursor.execute(sql, [name])
    desc = cursor.description
    print('表的描述:', desc)
    # 指定列表长度
    # field_list = []
    field_list = [None] * len(desc)
    for i in range(len(desc)):
        field_list[i] = desc[i][0]
    # 字段列表
    print('字段列表:', field_list)
    rows = cursor.fetchall()
    dict_list = [None] * len(rows)
    for i in range(len(rows)):
        print('数据元组:', rows[i])
        # 拼接列表为字典
        dict_list[i] = dict(zip(field_list, rows[i]))
    print(rows)
    print(dict_list)
    return HttpResponse('test cursor')

这个游标我还得再练练,使用不熟练

说真的,我一个测试,同事都说没必要学django,我学着学着才发现,学啥真的不重要,重要是锻炼自己的代码能力,写着写着你就发现,什么都会写了。总是好高骛远不行,持续学习才是王道。

 

 

 

 

 

print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)

 

Django是一个流行的高级Python Web框架,它提供了很多内置的功能,包括一个强大的ORM(对象关系映射)系统和用于快速搭建应用的能力。如果要在Django中创建一个通知(Notification)应用程序,通常会涉及以下几个步骤: 1. **模型设计**:首先,你需要定义一个`Notification`模型,包含基本的信息如标题、内容、发送者和接收者等。可能还会有一个状态字段(如已读/未读)。 ```python from django.db import models class Notification(models.Model): title = models.CharField(max_length=200) content = models.TextField() sender = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sent_notifications') recipient = models.ForeignKey(User, on_delete=models.CASCADE, related_name='received_notifications') is_read = models.BooleanField(default=False) ``` 2. **视图处理**:对于用户接收和管理通知,你可以创建视图函数来显示通知列表、标记为已读、删除通知等。例如,展示通知可能涉及到从数据库获取用户的通知并分页展示。 3. **模板渲染**:创建HTML模板,比如`notifications.html`,用于显示通知详情或通知列表。 4. **信号和任务**:如果需要异步处理(比如通过邮件、推送通知等),可以使用Django的信号系统结合Celery或其他任务队列工具。 5. **URL配置**:在urls.py文件中设置路由,将用户访问通知的URL映射到相应的视图函数。 6. **权限管理**:为了保护用户的隐私,可能需要对哪些用户可以看到特定通知进行权限控制。 完成以上步骤后,用户就可以在Django网站上看到和管理他们的通知了。如果你有更具体的问题,比如如何实现某种功能或者遇到技术难题,欢迎提问:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值