python - AttributeError: 模块“”没有属性“命令”
问题描述
在我的 Django 项目中,有一个用于加载 csv 数据的文件(模块)。
project/apps/patients/management/commands/load_patient_data.py
在文件(模块)内部:
import psycopg2
import csv
conn = psycopg2.connect(host='localhost', dbname='patientdb',user='username',password='password',port='')
cur = conn.cursor()
with open(r'apps/patients/management/commands/events.csv') as csvfile:
spamreader = csv.DictReader(csvfile, delimiter=',' ,quotechar=' ')
for row in spamreader:
cur.execute(f"""INSERT INTO patients_event (patient_id, event_type_id , event_value ,event_unit, event_time) VALUES
('{row['PATIENT ID']}','{row['EVENT TYPE']}','{row['EVENT VALUE']}',
'{row['EVENT UNIT']}','{row['EVENT TIME']}')""")
conn.commit()
当我运行时:
python manage.py load_patient_data
错误:
AttributeError: module 'apps.patients.management.commands.load_patient_data' has no attribute 'Command'
有朋友可以帮忙吗?
解决方案
在load_patient_data.py
文件中
写下
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
def handle(self, *args, **options):
import psycopg2
import csv
conn = psycopg2.connect(host='localhost', dbname='patientdb', user='username', password='password', port='')
cur = conn.cursor()
with open(r'apps/patients/management/commands/events.csv') as csvfile:
spamreader = csv.DictReader(csvfile, delimiter=',', quotechar=' ')
for row in spamreader:
cur.execute(f"""INSERT INTO patients_event (patient_id, event_type_id , event_value ,event_unit, event_time) VALUES
('{row['PATIENT ID']}','{row['EVENT TYPE']}','{row['EVENT VALUE']}',
'{row['EVENT UNIT']}','{row['EVENT TIME']}')""")
conn.commit()
然后简单地运行 python manage.py load_patient_data
推荐阅读
- elasticsearch - Elasticsearch - 如何为搜索和索引指定相同的分析器
- javascript - 类型“未定义”不可分配给类型“字符串 | 缓冲区 | {键:字符串| 缓冲; 密码:字符串;} | 获取公共密钥或秘密'
- python - 为字符串的每个索引分配新值
- android-studio - Android Studio 4.1 升级给 Flutter 一些错误
- git - 在 Linux 内核中找到与安全相关的补丁的好方法?
- python - 如何使用 Pandas 或类似 Pandas 的库加载和处理百万列的数据集?
- ibm-integration-bus - 访问 ESQL 中的动态字段名称
- mysql - 如果有人在我调用最后一个插入 ID 之前将新数据插入数据库怎么办?
- python - 树莓派上的 Crontab 没有运行
- android - 对图书馆应用程序的匕首刀柄支持