fixed a bunch of bugs in csvimport backend
This commit is contained in:
+27
-1
@@ -1,5 +1,7 @@
|
||||
from django.db import models
|
||||
from django.utils import timezone
|
||||
from io import StringIO
|
||||
import csv
|
||||
|
||||
class Member(models.Model):
|
||||
'''
|
||||
@@ -45,9 +47,33 @@ class Member(models.Model):
|
||||
except KeyError:
|
||||
pass
|
||||
self.save()
|
||||
@classmethod
|
||||
def import_csv(cls, csv_string):
|
||||
reader = csv.reader(StringIO(csv_string.strip()))
|
||||
response = {"status": "success", "errors": []};
|
||||
try:
|
||||
data = list(reader)
|
||||
except ValueError:
|
||||
return {"status": "failure", "errors": ["could not parse csv file"]}
|
||||
for row in data:
|
||||
if True:
|
||||
obj = cls.objects.create(
|
||||
first_name=row[0],
|
||||
last_name=row[1],
|
||||
email=row[2],
|
||||
POR=row[3],
|
||||
AYY=bool(row[4]),
|
||||
jas=bool(row[5]),
|
||||
)
|
||||
print("added obj {}".format(obj))
|
||||
else:
|
||||
response["status"] = "failure"
|
||||
response["errors"].append("failure adding item {}".format(", ".join(row)))
|
||||
|
||||
return response
|
||||
|
||||
def __str__(self):
|
||||
return "{} {}".format(first_name, last_name)
|
||||
return "{} {}".format(self.first_name, self.last_name)
|
||||
|
||||
class MemberRequest(models.Model):
|
||||
member = models.ForeignKey(Member)
|
||||
|
||||
Reference in New Issue
Block a user