实现功能:数据的导入!
附上官方文档地址:
https://docs.djangoproject.com/en/4.0/howto/custom-management-commands/#management-commands-and-locales
import csv
import sys
from django.core.management import BaseCommand
from interview.models import Candidate
sys.path.append('C:\\Users\\74708\\Desktop\\Django大法\\myyuque\\interview')
# python manage.py import_candidates --path C:\Users\74708\Desktop\玛卡巴卡.csv
print(sys.path)
class Command(BaseCommand):
help = '为hr提供的表格csv执行导入操作'
def add_arguments(self, parser):
parser.add_argument('--path', type=str)
def handle(self, *args, **options):
path = options['path']
with open(path, 'rt') as f:
reader = csv.reader(f, dialect='excel')
for low in reader:
candidate = Candidate.objects.create(
username=low[0],
city=low[1],
phone=low[2],
bachelor_school=low[3],
major=low[4],
degree=low[5],
test_score_of_general_ability=low[6],
paper_score=low[7]
)
print(candidate)
这就相当于自己创建个脚本,创建一个读取文件 ,写入文件的步骤,放入command中,然后通过命令执行。(好像有点low?)