initial commit. displays simple hierarchy and lists of models. includes fixtures for initial data.

This commit is contained in:
2021-11-07 14:05:07 -06:00
parent a253c38bf0
commit 0f5c7d27e6
54 changed files with 1398 additions and 0 deletions

0
players/__init__.py Normal file
View File

6
players/admin.py Normal file
View File

@@ -0,0 +1,6 @@
from django.contrib import admin
from .models import Player, StatLine
# Register your models here.
admin.site.register(Player)
admin.site.register(StatLine)

6
players/apps.py Normal file
View File

@@ -0,0 +1,6 @@
from django.apps import AppConfig
class PlayersConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'players'

View File

@@ -0,0 +1,84 @@
- model: players.player
pk: 1
fields:
first_name: Edric
last_name: Tosser
jersey_number: 1
- model: players.player
pk: 2
fields:
first_name: Paula
last_name: Mason
jersey_number: 2
- model: players.player
pk: 3
fields:
first_name: Declan
last_name: Suzanne
jersey_number: 3
- model: players.player
pk: 4
fields:
first_name: Baby
last_name: Triumphant
jersey_number: 4
- model: players.player
pk: 5
fields:
first_name: Joshua
last_name: Butt
jersey_number: 5
- model: players.player
pk: 6
fields:
first_name: Isaac
last_name: Johnson
jersey_number: 6
- model: players.player
pk: 7
fields:
first_name: Rivers
last_name: Rosa
jersey_number: 7
- model: players.player
pk: 8
fields:
first_name: Lou
last_name: Roseheart
jersey_number: 8
- model: players.player
pk: 9
fields:
first_name: Wesley
last_name: Poole
jersey_number: 9
- model: players.player
pk: 10
fields:
first_name: Mullen
last_name: Peterson
jersey_number: 10
- model: players.player
pk: 11
fields:
first_name: Justice
last_name: Spoon
jersey_number: 11
- model: players.player
pk: 12
fields:
first_name: Caleb
last_name: Alvarado
jersey_number: 12
- model: players.player
pk: 13
fields:
first_name: Atlas
last_name: Guerra
jersey_number: 13
- model: players.player
pk: 14
fields:
first_name: Swamuel
last_name: Mora
jersey_number: 14

View File

@@ -0,0 +1,37 @@
# Generated by Django 3.2.6 on 2021-11-07 17:43
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Player',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(max_length=200)),
('last_name', models.CharField(max_length=200)),
('jersey_number', models.IntegerField()),
],
options={
'unique_together': {('first_name', 'last_name')},
},
),
migrations.CreateModel(
name='Stat',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('batting_avg', models.DecimalField(decimal_places=3, default=0, max_digits=4)),
('onbase_pct', models.DecimalField(decimal_places=3, default=0, max_digits=4)),
('slugging_pct', models.DecimalField(decimal_places=3, default=0, max_digits=4)),
('player', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='players.player')),
],
),
]

View File

@@ -0,0 +1,17 @@
# Generated by Django 3.2.6 on 2021-11-07 18:46
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('players', '0001_initial'),
]
operations = [
migrations.RenameModel(
old_name='Stat',
new_name='StatLine',
),
]

View File

30
players/models.py Normal file
View File

@@ -0,0 +1,30 @@
from django.db import models
class Player(models.Model):
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
jersey_number = models.IntegerField()
def __str__(self):
return f"{self.last_name}, {self.first_name}"
class Meta:
unique_together = ('first_name', 'last_name',)
class StatLine(models.Model):
player = models.ForeignKey(Player, on_delete=models.CASCADE)
batting_avg = models.DecimalField(max_digits=4, decimal_places=3, default=0)
onbase_pct = models.DecimalField(max_digits=4, decimal_places=3, default=0)
slugging_pct = models.DecimalField(max_digits=4, decimal_places=3, default=0)
def __str__(self):
return f"{self.batting_avg}/{self.onbase_pct}/{self.slugging_pct}"
@property
def slash_line(self):
return "/".join([
f"{self.batting_avg:.3f}".lstrip("0"),
f"{self.onbase_pct:.3f}".lstrip("0"),
f"{self.slugging_pct:.3f}".replace("0.",".")
]
)

8
players/urls.py Normal file
View File

@@ -0,0 +1,8 @@
from django.contrib import admin
from django.urls import path, include
from . import views
urlpatterns = [
]

3
players/views.py Normal file
View File

@@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.