首页 > 解决方案 > 如何在 Python 独立脚本中使用 HSET 将数据从 Django 模型写入 Redis DB?

问题描述

我正在尝试使用 HSET 命令将数据从 Django 模型写入 redis DB。

下面是 Django 项目中的一个独立脚本:-

文件名: - insertToRedis.py

import redis, django

def writeOnRedis():
    r = redis.Redis(
    host='XXX.XXX.XX.XXX',
    port='6379')

    #imported model 
    from MainApp.models import Employee
    allEmployees =Employee.objects.all()

    # Here I want to insert this all Employees object to Redis with HSET command
    # But don't know how to do this.
    # CONDITION: e_name is key and the remaining fields are values 
    #why this condition? --> I want to query Redis DB by E_name 

if __name__ =='__main__':
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Project.settings')
    django.setup()
    writeOnRedis()

我的员工模型如下所示:-

文件名: -models.py

from django.db import models

class Employee(models.Model)
    e_id = models.IntegerField()
    e_name = models.TextField()
    e_designation = models.TextField()
    e_salary = models.FloatField()

    def __str__(self):
        return self.e_name

问题:

如何以 e_name、e_id、e_designation 和 e_salary 作为输出的方式查询模型?以及如何将此输出作为输入传递给 HSET。

版本:Django==3.1.7 redis_version:6.0.9

我是 Django 和 Redis 的新手,任何建议都会对我有很大帮助。提前致谢。

标签: djangoredispython-standalone

解决方案


推荐阅读