gpt4 book ai didi

python - Django - UnboundLocalError

转载 作者:太空宇宙 更新时间:2023-11-03 23:55:19 27 4
gpt4 key购买 nike

我在 View 中有一个函数,用于上传 CSV 数据并写入数据库。那部分正在工作。但是,当我尝试检查是否有数据更新或创建时,我收到一条错误消息:

"local variable 'created' referenced before assignment".

View 中的函数如下

def bookings_upload(request):

prompt = {
'order': "Please import a valid CSV file"
}
if request.method == "GET":
return render(request, 'booking_app/importBookings.html', prompt)

csv_file = request.FILES['bookings']

if not csv_file.name.endswith('.csv'):
messages.error(request, "This file is not a .csv file.")
return redirect('/booking_app/bookings_upload/')

data_set = csv_file.read().decode('utf-8')
io_string = io.StringIO(data_set)
next(io_string)

for column in csv.reader(io_string, delimiter=',', quotechar="|"):
_, created = Bookings.objects.update_or_create(
book_date=column[0],
grower_number=column[1],
bales_booked=column[3],
sale_date=column[6],
book_id=column[11],
reoffer=column[12]
)
)

if created:
messages.success(request, "Bookings have been imported successfully")
else:
messages.warning(request, "No new bookings were imported. Please check/verify your csv file")

context = {}
return render(request, 'booking_app/importBookings.html', context)

我错过了什么?任何帮助将不胜感激。

最佳答案

@lmiguelvargasf 的回答解释了正在发生的事情,但我认为更好的重构是:

n_created = 0
for column in csv.reader(io_string, delimiter=",", quotechar="|"):
_, created = Bookings.objects.update_or_create(
book_date=column[0],
grower_number=column[1],
bales_booked=column[3],
sale_date=column[6],
book_id=column[11],
reoffer=column[12],
)
if created:
n_created += 1

if n_created:
messages.success(request, "%d bookings have been imported successfully" % n_created)
else:
messages.warning(request, "No new bookings were imported. Please check/verify your csv file")

关于python - Django - UnboundLocalError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57925326/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com