Skip to content

Commit f56a7a7

Browse files
committed
Added API to collect database from excel sheet
1 parent 4d64f5e commit f56a7a7

File tree

10 files changed

+79
-1
lines changed

10 files changed

+79
-1
lines changed

.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/iitj_family_tree.iml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/family_tree/family_tree/urls.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616
from django.contrib import admin
1717
from django.urls import include, path
1818
from graphene_django.views import GraphQLView
19+
from student.views import *
1920

2021
urlpatterns = [
2122
path('admin/', admin.site.urls),
2223
path("graphql", GraphQLView.as_view(graphiql=True)),
2324
path('students/', include('student.urls')),
25+
path('importExcelDB/', upload),
2426
]

backend/family_tree/student/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class Student(models.Model):
88
picture= models.URLField(max_length=200)
99
homeTown= models.CharField(max_length=200)
1010
extraCurriculars= models.CharField(max_length=400)
11-
socialMedia= models.ForeignKey('SocialMedia')
11+
socialMedia= models.ForeignKey('SocialMedia', on_delete=models.CASCADE, default=None)
1212
linkedIn= models.URLField(max_length=200)
1313
email= models.EmailField(max_length=254)
1414
parentId= models.CharField(max_length=400)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<form method="post" enctype="multipart/form-data">
2+
{% csrf_token %}
3+
<input type="file" name="files" required>
4+
<button type="submit">Submit</button>
5+
</form>

backend/family_tree/student/views.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,39 @@
11
from django.shortcuts import render
22
from django.http import HttpResponse
3+
from .models import Student, SocialMedia
4+
import pandas as pd
35

46

57
def index(request):
68
return HttpResponse(" ")
79
# Create your views here.
10+
11+
def upload(request):
12+
if request.method == 'POST':
13+
Student.objects.all().delete()
14+
SocialMedia.objects.all().delete()
15+
file = request.FILES['files']
16+
path = file.file
17+
dataFrame = pd.read_excel(path)
18+
for line in dataFrame.values.tolist():
19+
socialMediaObj=SocialMedia.objects.create(
20+
facebook=line[10],
21+
instagram=line[11]
22+
)
23+
ssoID = socialMediaObj.id
24+
print(ssoID)
25+
Student.objects.create(
26+
roll_no=line[0],
27+
name=line[1],
28+
branch=line[2],
29+
year=line[3],
30+
picture=line[4],
31+
homeTown=line[5],
32+
extraCurriculars=line[6],
33+
linkedIn=line[7],
34+
email=line[8],
35+
parentId=line[9],
36+
socialMedia=socialMediaObj
37+
)
38+
39+
return render(request, 'excelImport.html')

0 commit comments

Comments
 (0)