-
Notifications
You must be signed in to change notification settings - Fork 14
/
loaddata.sh
executable file
·94 lines (66 loc) · 2.36 KB
/
loaddata.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/bash
# Locations
python manage.py loaddata locations.json
# Challenges Categories
python manage.py loaddata categories.json
# Challenges
python manage.py loadtestdata challenges.Challenge:150 -u challenges.fixtures.autofixtures.ChallengeAutoFixture
# Admin
echo "
from django.contrib.auth.models import User;
from accounts.models import UserProfile, Team;
from cities_light.models import Country;
from challenges.models import Challenge, ChallengeSolved;
from django.utils.timezone import now, timedelta;
import random;
# Admin
admin=User.objects.create_superuser('admin', '[email protected]', 'admin');
team=Team.objects.create(name='admin', created_by=admin);
UserProfile.objects.create(
user=admin,
job='job',
gender='M',
country=Country.objects.get_or_create(name='Italy')[0],
team=team,
skills='skill 1, skill 2, skill 3'
);
start = now() - timedelta(days=30)
admin.profile.created_at = start
admin.profile.save()
# User without team
for i in range(10):
user_no_team=User.objects.create_user('noteam%s'%i, '[email protected]', 'noteam');
UserProfile.objects.create(
user=user_no_team,
job='job',
gender='M',
country=Country.objects.get_or_create(name='Italy')[0],
skills='skill 1, skill 2, skill 3'
);
# User without solved challenges
user_no_solved=User.objects.create_user('demo', '[email protected]', 'demo');
team_no_solved=Team.objects.create(name='Test Team', created_by=admin);
UserProfile.objects.create(
user=user_no_solved,
job='job',
gender='M',
country=Country.objects.get_or_create(name='Italy')[0],
team=team_no_solved,
skills='skill 1, skill 2, skill 3'
);
start = now() - timedelta(days=30)
user_no_solved.profile.created_at = start
user_no_solved.profile.save()
for challenge in Challenge.objects.all():
solved = ChallengeSolved.objects.create(
user=admin.profile,
challenge=challenge
)
solved.datetime = start + (now() - start) * random.random()
print(solved.datetime)
solved.save()
" | python manage.py shell
# Users Data
python manage.py loadtestdata accounts.Team:10 -u accounts.fixtures.autofixtures.TeamAutoFixture
python manage.py loadtestdata auth.User:50 -u accounts.fixtures.autofixtures.UserAutoFixture
python manage.py loadtestdata accounts.UserProfile:50 -u accounts.fixtures.autofixtures.UserProfileAutoFixture