create form
This commit is contained in:
22
boatmovers/migrations/0004_auto_20220622_1835.py
Normal file
22
boatmovers/migrations/0004_auto_20220622_1835.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Generated by Django 3.2.12 on 2022-06-22 18:35
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('boatmovers', '0003_auto_20220622_1753'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='race',
|
||||||
|
name='verified',
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='result',
|
||||||
|
unique_together={('crew', 'race', 'order')},
|
||||||
|
),
|
||||||
|
]
|
||||||
19
boatmovers/migrations/0005_athlete_gender.py
Normal file
19
boatmovers/migrations/0005_athlete_gender.py
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Generated by Django 3.2.12 on 2022-06-22 18:48
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('boatmovers', '0004_auto_20220622_1835'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='athlete',
|
||||||
|
name='gender',
|
||||||
|
field=models.CharField(choices=[('m', 'M'), ('f', 'F')], default='m', max_length=200),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django import forms
|
||||||
import datetime
|
import datetime
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ class Athlete(models.Model):
|
|||||||
trueskill_mu = models.FloatField(default=25.)
|
trueskill_mu = models.FloatField(default=25.)
|
||||||
trueskill_sigma = models.FloatField(default=8.333)
|
trueskill_sigma = models.FloatField(default=8.333)
|
||||||
birth_year = models.IntegerField(default=1972)
|
birth_year = models.IntegerField(default=1972)
|
||||||
|
gender = models.CharField(max_length=200, choices=(('m','M'),('f','F')))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = ('first_name','last_name','birth_year')
|
unique_together = ('first_name','last_name','birth_year')
|
||||||
@@ -22,6 +24,14 @@ class Athlete(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return u'{f} {l}'.format(f = self.first_name, l=self.last_name)
|
return u'{f} {l}'.format(f = self.first_name, l=self.last_name)
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return "/athlete/%i/" % self.id
|
||||||
|
|
||||||
|
class athleteForm(forms.ModelForm):
|
||||||
|
class Meta:
|
||||||
|
model = Athlete
|
||||||
|
fields = ['first_name','last_name','club','birth_year']
|
||||||
|
|
||||||
class Crew(models.Model):
|
class Crew(models.Model):
|
||||||
athletes = models.ManyToManyField(Athlete)
|
athletes = models.ManyToManyField(Athlete)
|
||||||
name = models.CharField(max_length=200)
|
name = models.CharField(max_length=200)
|
||||||
@@ -35,6 +45,7 @@ class Race(models.Model):
|
|||||||
date = models.DateField(default=current_day)
|
date = models.DateField(default=current_day)
|
||||||
resultlist = models.ManyToManyField(Crew,through='Result')
|
resultlist = models.ManyToManyField(Crew,through='Result')
|
||||||
crew_size = models.IntegerField(default=1)
|
crew_size = models.IntegerField(default=1)
|
||||||
|
verified = models.BooleanField(default=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = ('date','name')
|
unique_together = ('date','name')
|
||||||
@@ -46,3 +57,6 @@ class Result(models.Model):
|
|||||||
crew = models.ForeignKey(Crew, on_delete=models.CASCADE)
|
crew = models.ForeignKey(Crew, on_delete=models.CASCADE)
|
||||||
race = models.ForeignKey(Race, on_delete=models.CASCADE)
|
race = models.ForeignKey(Race, on_delete=models.CASCADE)
|
||||||
order = models.PositiveIntegerField()
|
order = models.PositiveIntegerField()
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
unique_together = ('crew','race','order')
|
||||||
|
|||||||
4
boatmovers/templates/boatmovers/athlete_form.html
Normal file
4
boatmovers/templates/boatmovers/athlete_form.html
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<form action="" method="post">{% csrf_token %}
|
||||||
|
{{ form.as_p }}
|
||||||
|
<input type="submit" value="Create" />
|
||||||
|
</form>
|
||||||
9
boatmovers/urls.py
Normal file
9
boatmovers/urls.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
from django.conf import settings
|
||||||
|
from django.conf.urls import url, include
|
||||||
|
from django.urls import path, re_path
|
||||||
|
|
||||||
|
import boatmovers.views as views
|
||||||
|
|
||||||
|
urlpatterns = [
|
||||||
|
url(r'athlete/add/$',views.AthleteCreateView.as_view(),name='athlete_add'),
|
||||||
|
]
|
||||||
@@ -1,3 +1,15 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
from django.views.generic.edit import CreateView
|
||||||
|
from boatmovers.models import Athlete
|
||||||
|
|
||||||
|
class AthleteCreateView(CreateView):
|
||||||
|
model = Athlete
|
||||||
|
fields = [
|
||||||
|
'first_name',
|
||||||
|
'last_name',
|
||||||
|
'birth_year',
|
||||||
|
'gender',
|
||||||
|
'club',
|
||||||
|
]
|
||||||
|
|||||||
2144
cvkbrno/views.py
2144
cvkbrno/views.py
File diff suppressed because it is too large
Load Diff
@@ -49,7 +49,6 @@ DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
|||||||
INSTALLED_APPS = [
|
INSTALLED_APPS = [
|
||||||
'rowers',
|
'rowers',
|
||||||
'survey',
|
'survey',
|
||||||
'boatmovers',
|
|
||||||
# 'cvkbrno',
|
# 'cvkbrno',
|
||||||
'django.contrib.admin',
|
'django.contrib.admin',
|
||||||
'django.contrib.auth',
|
'django.contrib.auth',
|
||||||
@@ -77,6 +76,7 @@ INSTALLED_APPS = [
|
|||||||
'django_countries',
|
'django_countries',
|
||||||
'rules',
|
'rules',
|
||||||
'taggit',
|
'taggit',
|
||||||
|
'boatmovers',
|
||||||
]
|
]
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = (
|
AUTHENTICATION_BACKENDS = (
|
||||||
@@ -138,10 +138,7 @@ TEMPLATES = [
|
|||||||
],
|
],
|
||||||
'libraries': {
|
'libraries': {
|
||||||
'staticfiles': 'django.templatetags.static',
|
'staticfiles': 'django.templatetags.static',
|
||||||
}
|
},
|
||||||
# 'loaders': [
|
|
||||||
# 'django.template.loaders.app_directories.Loader',
|
|
||||||
# ],
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -79,7 +79,8 @@ urlpatterns += [
|
|||||||
{'next_page': '/'},
|
{'next_page': '/'},
|
||||||
name='logout',),
|
name='logout',),
|
||||||
re_path(r'^rowers/', include('rowers.urls')),
|
re_path(r'^rowers/', include('rowers.urls')),
|
||||||
# re_path(r'^survey/',include('survey.urls')),
|
re_path(r'^boatmovers/',include('boatmovers.urls')),
|
||||||
|
#re_path(r'^survey/',include('survey.urls')),
|
||||||
# re_path(r'^cvkbrno/',include('cvkbrno.urls')),
|
# re_path(r'^cvkbrno/',include('cvkbrno.urls')),
|
||||||
# re_path(r'^admin/rq/',include('django_rq_dashboard.urls')),
|
# re_path(r'^admin/rq/',include('django_rq_dashboard.urls')),
|
||||||
re_path(r'^call\_back', rowersviews.rower_process_callback),
|
re_path(r'^call\_back', rowersviews.rower_process_callback),
|
||||||
|
|||||||
Reference in New Issue
Block a user