首页 > 解决方案 > 将 CSV 文件导入两个单独的 django 模型

问题描述

我无法将一个 csv 文件中的数据解析为 django 模型中的两个相关表。

我的 view.py 函数。

        for column in csv.reader(io_string, delimiter=',', quotechar="|"):
            _, created = User.objects.update_or_create(
                card_no=column[0],
                first_name=column[1],
                last_name=column[2],
                mobile=column[3],
                email=column[4],
                is_active=column[5]
            )

            _, created = UserPayment.objects.get_or_create(
                paid_on=column[0],
                valid_until=column[1],
                payment_status=column[2]
            )

这是 CSV 文件。 文件图片

如何毫无问题地将 CSV 数据保存到模型中?

标签: pythondjangocsv

解决方案


列索引可能有错误请看下面的代码

for column in csv.reader(io_string, delimiter=',', quotechar="|"):
    _, created = User.objects.update_or_create(
        card_no=column[0],
        first_name=column[1],
        last_name=column[2],
        mobile=column[3],
        email=column[4],
        is_active=column[5]
    )

    _, created = UserPayment.objects.get_or_create(
        paid_on=column[6], # column[0] is the card_no
        valid_until=column[7], # column[1] is first name
        payment_status=column[8] # column[2] is last name 
    )

推荐阅读