diff --git a/src/mainapp/fixtures/members_fixture.json b/src/mainapp/fixtures/members_fixture.json
index 8c884d3..6fe915f 100644
--- a/src/mainapp/fixtures/members_fixture.json
+++ b/src/mainapp/fixtures/members_fixture.json
@@ -1,1102 +1,1080 @@
[
{
"model": "mainapp.member",
- "pk": 1,
+ "pk": null,
"fields": {
- "first_name": "Duane",
- "last_name": "Bent",
+ "first_name": "Ronald",
+ "last_name": "Williams",
"team": 1,
- "peg_number": null,
- "section": "A"
+ "section": 83,
+ "peg_number": 118
}
},
{
"model": "mainapp.member",
- "pk": 2,
+ "pk": null,
"fields": {
- "first_name": "Erwin",
- "last_name": "Napier",
- "team": 1,
- "peg_number": 1,
- "section": "B"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 3,
- "fields": {
- "first_name": "Arthur",
- "last_name": "Dillon",
- "team": 1,
- "peg_number": 2,
- "section": "C"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 4,
- "fields": {
- "first_name": "William",
- "last_name": "Hector",
- "team": 1,
- "peg_number": 3,
- "section": "D"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 5,
- "fields": {
- "first_name": "Warren",
- "last_name": "Dixon",
- "team": 1,
- "peg_number": 4,
- "section": "E"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 6,
- "fields": {
- "first_name": "Hallie",
- "last_name": "Fountain",
- "team": 1,
- "peg_number": 5,
- "section": "F"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 7,
- "fields": {
- "first_name": "Hal",
- "last_name": "Fisher",
- "team": 1,
- "peg_number": 6,
- "section": "G"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 8,
- "fields": {
- "first_name": "Lamar",
- "last_name": "Ferguson",
- "team": 1,
- "peg_number": 7,
- "section": "H"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 9,
- "fields": {
- "first_name": "Alix",
+ "first_name": "Amanda",
"last_name": "Campbell",
"team": 1,
- "peg_number": 8,
- "section": "I"
+ "section": 12,
+ "peg_number": 119
}
},
{
"model": "mainapp.member",
- "pk": 10,
+ "pk": null,
"fields": {
- "first_name": "Jule",
- "last_name": "Oleary",
+ "first_name": "Sherita",
+ "last_name": "Horne",
"team": 1,
- "peg_number": 9,
- "section": "J"
+ "section": 135,
+ "peg_number": 120
}
},
{
"model": "mainapp.member",
- "pk": 11,
+ "pk": null,
"fields": {
- "first_name": "Dorothy",
- "last_name": "Maginnis",
+ "first_name": "Malik",
+ "last_name": "Edmunds",
+ "team": 1,
+ "section": 102,
+ "peg_number": 121
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Anne",
+ "last_name": "Gridley",
+ "team": 1,
+ "section": 123,
+ "peg_number": 122
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Clara",
+ "last_name": "Mayfield",
+ "team": 1,
+ "section": 146,
+ "peg_number": 123
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Santo",
+ "last_name": "Ross",
"team": 2,
- "peg_number": 10,
- "section": "K"
+ "section": 43,
+ "peg_number": 124
}
},
{
"model": "mainapp.member",
- "pk": 12,
+ "pk": null,
"fields": {
- "first_name": "George",
- "last_name": "Lofgren",
+ "first_name": "Sara",
+ "last_name": "Kjelland",
"team": 2,
- "peg_number": 11,
- "section": "L"
+ "section": 130,
+ "peg_number": 125
}
},
{
"model": "mainapp.member",
- "pk": 13,
+ "pk": null,
"fields": {
- "first_name": "Evita",
- "last_name": "Tolentino",
+ "first_name": "Elizabeth",
+ "last_name": "Cochran",
"team": 2,
- "peg_number": 12,
- "section": "M"
+ "section": 128,
+ "peg_number": 126
}
},
{
"model": "mainapp.member",
- "pk": 14,
+ "pk": null,
"fields": {
- "first_name": "David",
- "last_name": "Bundy",
- "team": 2,
- "peg_number": 13,
- "section": "N"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 15,
- "fields": {
- "first_name": "Ellen",
- "last_name": "Ota",
- "team": 2,
- "peg_number": 14,
- "section": "O"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 16,
- "fields": {
- "first_name": "Vivian",
- "last_name": "Myers",
- "team": 2,
- "peg_number": 15,
- "section": "P"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 17,
- "fields": {
- "first_name": "Brenda",
- "last_name": "Getty",
- "team": 2,
- "peg_number": 16,
- "section": "Q"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 18,
- "fields": {
- "first_name": "Charles",
- "last_name": "Adams",
- "team": 2,
- "peg_number": 17,
- "section": "R"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 19,
- "fields": {
- "first_name": "Stephen",
- "last_name": "Patterson",
- "team": 2,
- "peg_number": 18,
- "section": "S"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 20,
- "fields": {
- "first_name": "Christine",
- "last_name": "Reynolds",
- "team": 2,
- "peg_number": 19,
- "section": "T"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 21,
- "fields": {
- "first_name": "Mary",
- "last_name": "Baca",
+ "first_name": "Donald",
+ "last_name": "Shannon",
"team": 3,
- "peg_number": 20,
- "section": "U"
+ "section": 37,
+ "peg_number": 127
}
},
{
"model": "mainapp.member",
- "pk": 22,
+ "pk": null,
+ "fields": {
+ "first_name": "Casey",
+ "last_name": "Kane",
+ "team": 3,
+ "section": 10,
+ "peg_number": 128
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Jim",
+ "last_name": "Bagley",
+ "team": 3,
+ "section": 40,
+ "peg_number": 129
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Jennifer",
+ "last_name": "Harter",
+ "team": 4,
+ "section": 85,
+ "peg_number": 130
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Scott",
+ "last_name": "Nicolosi",
+ "team": 4,
+ "section": 8,
+ "peg_number": 131
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Alberto",
+ "last_name": "Lanford",
+ "team": 4,
+ "section": 153,
+ "peg_number": 132
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Andrew",
+ "last_name": "Bond",
+ "team": 5,
+ "section": 81,
+ "peg_number": 133
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Owen",
+ "last_name": "Stimmell",
+ "team": 5,
+ "section": 5,
+ "peg_number": 134
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Rosie",
+ "last_name": "Canales",
+ "team": 5,
+ "section": 136,
+ "peg_number": 135
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Paul",
+ "last_name": "Howell",
+ "team": 6,
+ "section": 99,
+ "peg_number": 136
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Franklin",
+ "last_name": "Crawford",
+ "team": 6,
+ "section": 28,
+ "peg_number": 137
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Erwin",
+ "last_name": "Golding",
+ "team": 6,
+ "section": 129,
+ "peg_number": 138
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Jesse",
+ "last_name": "Soto",
+ "team": 7,
+ "section": 101,
+ "peg_number": 139
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Robert",
+ "last_name": "Alway",
+ "team": 7,
+ "section": 65,
+ "peg_number": 140
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Donald",
+ "last_name": "Tillman",
+ "team": 7,
+ "section": 155,
+ "peg_number": 141
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Philip",
+ "last_name": "Koehler",
+ "team": 7,
+ "section": 58,
+ "peg_number": 142
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Phillip",
+ "last_name": "Bishop",
+ "team": 8,
+ "section": 38,
+ "peg_number": 143
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Timothy",
+ "last_name": "Heller",
+ "team": 8,
+ "section": 98,
+ "peg_number": 144
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Dennis",
+ "last_name": "Elliott",
+ "team": 8,
+ "section": 152,
+ "peg_number": 145
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Louis",
+ "last_name": "Huang",
+ "team": 9,
+ "section": 15,
+ "peg_number": 146
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Susan",
+ "last_name": "Martinez",
+ "team": 9,
+ "section": 25,
+ "peg_number": 147
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Margaret",
+ "last_name": "Myles",
+ "team": 9,
+ "section": 57,
+ "peg_number": 148
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Wendell",
+ "last_name": "Morrison",
+ "team": 9,
+ "section": 154,
+ "peg_number": 149
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Gregory",
+ "last_name": "Oliver",
+ "team": 10,
+ "section": 126,
+ "peg_number": 150
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Raymond",
+ "last_name": "Gentry",
+ "team": 10,
+ "section": 157,
+ "peg_number": 151
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Andy",
+ "last_name": "Mckinney",
+ "team": 10,
+ "section": 148,
+ "peg_number": 152
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Kathy",
+ "last_name": "Pacheco",
+ "team": 11,
+ "section": 104,
+ "peg_number": 153
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "James",
+ "last_name": "Jones",
+ "team": 11,
+ "section": 80,
+ "peg_number": 154
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
"fields": {
"first_name": "Sandra",
- "last_name": "Nunez",
- "team": 3,
- "peg_number": 21,
- "section": "V"
+ "last_name": "Payne",
+ "team": 11,
+ "section": 125,
+ "peg_number": 155
}
},
{
"model": "mainapp.member",
- "pk": 23,
+ "pk": null,
"fields": {
- "first_name": "Gina",
- "last_name": "Jett",
- "team": 3,
- "peg_number": 22,
- "section": "W"
+ "first_name": "Lynn",
+ "last_name": "Snider",
+ "team": 11,
+ "section": 98,
+ "peg_number": 156
}
},
{
"model": "mainapp.member",
- "pk": 24,
+ "pk": null,
"fields": {
- "first_name": "Jessica",
- "last_name": "Bacot",
- "team": 3,
- "peg_number": 23,
- "section": "X"
+ "first_name": "Joseph",
+ "last_name": "Lewis",
+ "team": 12,
+ "section": 48,
+ "peg_number": 157
}
},
{
"model": "mainapp.member",
- "pk": 25,
+ "pk": null,
"fields": {
- "first_name": "Nancy",
- "last_name": "Seifert",
- "team": 3,
- "peg_number": 24,
- "section": "Y"
+ "first_name": "Carrie",
+ "last_name": "Broussard",
+ "team": 12,
+ "section": 86,
+ "peg_number": 158
}
},
{
"model": "mainapp.member",
- "pk": 26,
+ "pk": null,
"fields": {
- "first_name": "Edith",
- "last_name": "Roberts",
- "team": 3,
- "peg_number": 25,
- "section": "Z"
+ "first_name": "Leora",
+ "last_name": "Yeaton",
+ "team": 12,
+ "section": 118,
+ "peg_number": 159
}
},
{
"model": "mainapp.member",
- "pk": 27,
- "fields": {
- "first_name": "Jean",
- "last_name": "Klein",
- "team": 3,
- "peg_number": 26,
- "section": "ZA"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 28,
- "fields": {
- "first_name": "Gertrude",
- "last_name": "Young",
- "team": 3,
- "peg_number": 27,
- "section": "ZB"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 29,
+ "pk": null,
"fields": {
"first_name": "John",
"last_name": "Walker",
- "team": 3,
- "peg_number": 28,
- "section": "ZC"
+ "team": 13,
+ "section": 137,
+ "peg_number": 160
}
},
{
"model": "mainapp.member",
- "pk": 30,
+ "pk": null,
"fields": {
- "first_name": "Jeanette",
- "last_name": "Parker",
- "team": 3,
- "peg_number": 29,
- "section": "ZD"
+ "first_name": "Bart",
+ "last_name": "Simmons",
+ "team": 13,
+ "section": 80,
+ "peg_number": 161
}
},
{
"model": "mainapp.member",
- "pk": 31,
+ "pk": null,
"fields": {
- "first_name": "Tracey",
- "last_name": "Kilgore",
- "team": 4,
- "peg_number": 30,
- "section": "ZE"
+ "first_name": "Anthony",
+ "last_name": "Delacruz",
+ "team": 13,
+ "section": 73,
+ "peg_number": 162
}
},
{
"model": "mainapp.member",
- "pk": 32,
+ "pk": null,
"fields": {
- "first_name": "Jeff",
- "last_name": "Seigler",
- "team": 4,
- "peg_number": 31,
- "section": "ZF"
+ "first_name": "Autumn",
+ "last_name": "Scott",
+ "team": 14,
+ "section": 39,
+ "peg_number": 163
}
},
{
"model": "mainapp.member",
- "pk": 33,
+ "pk": null,
"fields": {
- "first_name": "Victoria",
- "last_name": "Callahan",
- "team": 4,
- "peg_number": 32,
- "section": "ZG"
+ "first_name": "Candace",
+ "last_name": "Olds",
+ "team": 14,
+ "section": 98,
+ "peg_number": 164
}
},
{
"model": "mainapp.member",
- "pk": 34,
+ "pk": null,
"fields": {
- "first_name": "Josie",
- "last_name": "Davis",
- "team": 4,
- "peg_number": 33,
- "section": "ZH"
+ "first_name": "Sara",
+ "last_name": "Huerta",
+ "team": 14,
+ "section": 126,
+ "peg_number": 165
}
},
{
"model": "mainapp.member",
- "pk": 35,
+ "pk": null,
"fields": {
- "first_name": "John",
- "last_name": "Kissane",
- "team": 4,
- "peg_number": 34,
- "section": "ZI"
+ "first_name": "Earl",
+ "last_name": "Bryan",
+ "team": 14,
+ "section": 117,
+ "peg_number": 166
}
},
{
"model": "mainapp.member",
- "pk": 36,
+ "pk": null,
"fields": {
- "first_name": "Dina",
- "last_name": "Carney",
- "team": 4,
- "peg_number": 35,
- "section": "ZJ"
+ "first_name": "Max",
+ "last_name": "Coon",
+ "team": 15,
+ "section": 138,
+ "peg_number": 167
}
},
{
"model": "mainapp.member",
- "pk": 37,
+ "pk": null,
"fields": {
- "first_name": "Miguel",
- "last_name": "Young",
- "team": 4,
- "peg_number": 36,
- "section": "ZK"
+ "first_name": "Brooke",
+ "last_name": "Pizzo",
+ "team": 15,
+ "section": 151,
+ "peg_number": 168
}
},
{
"model": "mainapp.member",
- "pk": 38,
+ "pk": null,
"fields": {
- "first_name": "Paulette",
- "last_name": "Hartman",
- "team": 4,
- "peg_number": 37,
- "section": "ZL"
+ "first_name": "Terry",
+ "last_name": "Lawrence",
+ "team": 15,
+ "section": 8,
+ "peg_number": 169
}
},
{
"model": "mainapp.member",
- "pk": 39,
+ "pk": null,
"fields": {
- "first_name": "Donald",
- "last_name": "Leblanc",
- "team": 4,
- "peg_number": 38,
- "section": "ZM"
+ "first_name": "Jacqueline",
+ "last_name": "Brown",
+ "team": 16,
+ "section": 54,
+ "peg_number": 170
}
},
{
"model": "mainapp.member",
- "pk": 40,
+ "pk": null,
"fields": {
- "first_name": "Brian",
- "last_name": "Diaz",
- "team": 4,
- "peg_number": 39,
- "section": "ZN"
+ "first_name": "Ervin",
+ "last_name": "Gervasio",
+ "team": 16,
+ "section": 114,
+ "peg_number": 171
}
},
{
"model": "mainapp.member",
- "pk": 41,
+ "pk": null,
"fields": {
- "first_name": "Howard",
- "last_name": "Kerr",
- "team": 5,
- "peg_number": 40,
- "section": "ZO"
+ "first_name": "Anthony",
+ "last_name": "Herrera",
+ "team": 16,
+ "section": 82,
+ "peg_number": 172
}
},
{
"model": "mainapp.member",
- "pk": 42,
+ "pk": null,
"fields": {
- "first_name": "Elsie",
- "last_name": "Servais",
- "team": 5,
- "peg_number": 41,
- "section": "ZP"
+ "first_name": "Sheila",
+ "last_name": "Hewitt",
+ "team": 17,
+ "section": 107,
+ "peg_number": 173
}
},
{
"model": "mainapp.member",
- "pk": 43,
+ "pk": null,
"fields": {
- "first_name": "Michael",
- "last_name": "Golden",
- "team": 5,
- "peg_number": 42,
- "section": "ZQ"
+ "first_name": "Jill",
+ "last_name": "Weisman",
+ "team": 17,
+ "section": 150,
+ "peg_number": 174
}
},
{
"model": "mainapp.member",
- "pk": 44,
- "fields": {
- "first_name": "Pedro",
- "last_name": "Beyer",
- "team": 5,
- "peg_number": 43,
- "section": "ZR"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 45,
- "fields": {
- "first_name": "Barbara",
- "last_name": "Vallejos",
- "team": 5,
- "peg_number": 44,
- "section": "ZS"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 46,
- "fields": {
- "first_name": "Kenneth",
- "last_name": "Hartry",
- "team": 5,
- "peg_number": 45,
- "section": "ZT"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 47,
- "fields": {
- "first_name": "Sandra",
- "last_name": "Harrison",
- "team": 5,
- "peg_number": 46,
- "section": "ZU"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 48,
- "fields": {
- "first_name": "Elizabeth",
- "last_name": "Hwang",
- "team": 5,
- "peg_number": 47,
- "section": "ZV"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 49,
- "fields": {
- "first_name": "Francis",
- "last_name": "Cain",
- "team": 5,
- "peg_number": 48,
- "section": "ZW"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 50,
- "fields": {
- "first_name": "Annie",
- "last_name": "Potter",
- "team": 5,
- "peg_number": 49,
- "section": "ZX"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 51,
- "fields": {
- "first_name": "Dennis",
- "last_name": "Raymond",
- "team": 6,
- "peg_number": 50,
- "section": "ZY"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 52,
- "fields": {
- "first_name": "Jeffrey",
- "last_name": "Lytle",
- "team": 6,
- "peg_number": 51,
- "section": "ZZ"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 53,
- "fields": {
- "first_name": "Crystal",
- "last_name": "Ware",
- "team": 6,
- "peg_number": 52,
- "section": "ZZA"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 54,
- "fields": {
- "first_name": "Marie",
- "last_name": "Zeiler",
- "team": 6,
- "peg_number": 53,
- "section": "ZZB"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 55,
- "fields": {
- "first_name": "Dan",
- "last_name": "Febres",
- "team": 6,
- "peg_number": 54,
- "section": "ZZC"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 56,
- "fields": {
- "first_name": "Edward",
- "last_name": "Millard",
- "team": 6,
- "peg_number": 55,
- "section": "ZZD"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 57,
- "fields": {
- "first_name": "Duncan",
- "last_name": "Preciado",
- "team": 6,
- "peg_number": 56,
- "section": "ZZE"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 58,
- "fields": {
- "first_name": "Ina",
- "last_name": "Lara",
- "team": 6,
- "peg_number": 57,
- "section": "ZZF"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 59,
- "fields": {
- "first_name": "James",
- "last_name": "Ortiz",
- "team": 6,
- "peg_number": 58,
- "section": "ZZG"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 60,
- "fields": {
- "first_name": "Tomoko",
- "last_name": "Best",
- "team": 6,
- "peg_number": 59,
- "section": "ZZH"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 61,
- "fields": {
- "first_name": "James",
- "last_name": "Ramerez",
- "team": 7,
- "peg_number": 60,
- "section": "ZZI"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 62,
- "fields": {
- "first_name": "Rebbeca",
- "last_name": "Schultz",
- "team": 7,
- "peg_number": 61,
- "section": "ZZJ"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 63,
- "fields": {
- "first_name": "John",
- "last_name": "Hogue",
- "team": 7,
- "peg_number": 62,
- "section": "ZZK"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 64,
- "fields": {
- "first_name": "Yessenia",
- "last_name": "Garcia",
- "team": 7,
- "peg_number": 63,
- "section": "ZZL"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 65,
- "fields": {
- "first_name": "Elvira",
- "last_name": "Lehnen",
- "team": 7,
- "peg_number": 64,
- "section": "ZZM"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 66,
- "fields": {
- "first_name": "Ernest",
- "last_name": "Thomas",
- "team": 7,
- "peg_number": 65,
- "section": "ZZN"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 67,
- "fields": {
- "first_name": "Richard",
- "last_name": "Bowman",
- "team": 7,
- "peg_number": 66,
- "section": "ZZO"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 68,
- "fields": {
- "first_name": "Lisa",
- "last_name": "Gilmore",
- "team": 7,
- "peg_number": 67,
- "section": "ZZP"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 69,
- "fields": {
- "first_name": "Diane",
- "last_name": "Coleman",
- "team": 7,
- "peg_number": 68,
- "section": "ZZQ"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 70,
- "fields": {
- "first_name": "Ellie",
- "last_name": "Sheppard",
- "team": 7,
- "peg_number": 69,
- "section": "ZZR"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 71,
- "fields": {
- "first_name": "Michael",
- "last_name": "Cruz",
- "team": 8,
- "peg_number": 70,
- "section": "ZZS"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 72,
+ "pk": null,
"fields": {
"first_name": "Mary",
- "last_name": "Nimmo",
- "team": 8,
- "peg_number": 71,
- "section": "ZZT"
+ "last_name": "Williams",
+ "team": 17,
+ "section": 143,
+ "peg_number": 175
}
},
{
"model": "mainapp.member",
- "pk": 73,
- "fields": {
- "first_name": "James",
- "last_name": "Davis",
- "team": 8,
- "peg_number": 72,
- "section": "ZZU"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 74,
- "fields": {
- "first_name": "Mary",
- "last_name": "Holmes",
- "team": 8,
- "peg_number": 73,
- "section": "ZZV"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 75,
- "fields": {
- "first_name": "Ruby",
- "last_name": "Rosario",
- "team": 8,
- "peg_number": 74,
- "section": "ZZW"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 76,
- "fields": {
- "first_name": "Brenda",
- "last_name": "Mcclinton",
- "team": 8,
- "peg_number": 75,
- "section": "ZZX"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 77,
- "fields": {
- "first_name": "Gregory",
- "last_name": "Looft",
- "team": 8,
- "peg_number": 76,
- "section": "ZZY"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 78,
- "fields": {
- "first_name": "Bertha",
- "last_name": "Acevedo",
- "team": 8,
- "peg_number": 77,
- "section": "ZZZ"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 79,
- "fields": {
- "first_name": "Daniel",
- "last_name": "Baldwin",
- "team": 8,
- "peg_number": 78,
- "section": "ZZZA"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 80,
- "fields": {
- "first_name": "Paulette",
- "last_name": "Buxton",
- "team": 8,
- "peg_number": 79,
- "section": "ZZZB"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 81,
- "fields": {
- "first_name": "Ramona",
- "last_name": "Ballard",
- "team": 9,
- "peg_number": 80,
- "section": "ZZZC"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 82,
- "fields": {
- "first_name": "James",
- "last_name": "Martinez",
- "team": 9,
- "peg_number": 81,
- "section": "ZZZD"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 83,
- "fields": {
- "first_name": "Christopher",
- "last_name": "Hill",
- "team": 9,
- "peg_number": 82,
- "section": "ZZZE"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 84,
- "fields": {
- "first_name": "Holly",
- "last_name": "Parker",
- "team": 9,
- "peg_number": 83,
- "section": "ZZZF"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 85,
- "fields": {
- "first_name": "Laurie",
- "last_name": "Hamburger",
- "team": 9,
- "peg_number": 84,
- "section": "ZZZG"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 86,
- "fields": {
- "first_name": "David",
- "last_name": "Oldenkamp",
- "team": 9,
- "peg_number": 85,
- "section": "ZZZH"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 87,
- "fields": {
- "first_name": "Wallace",
- "last_name": "Rolle",
- "team": 9,
- "peg_number": 86,
- "section": "ZZZI"
- }
- },
- {
- "model": "mainapp.member",
- "pk": 88,
+ "pk": null,
"fields": {
"first_name": "Janice",
- "last_name": "Foster",
- "team": 9,
- "peg_number": 87,
- "section": "ZZZJ"
+ "last_name": "Ali",
+ "team": 18,
+ "section": 9,
+ "peg_number": 176
}
},
{
"model": "mainapp.member",
- "pk": 89,
+ "pk": null,
"fields": {
- "first_name": "Victor",
- "last_name": "Cothran",
- "team": 9,
- "peg_number": 88,
- "section": "ZZZK"
+ "first_name": "Scott",
+ "last_name": "Hancock",
+ "team": 18,
+ "section": 39,
+ "peg_number": 177
}
},
{
"model": "mainapp.member",
- "pk": 90,
+ "pk": null,
"fields": {
- "first_name": "James",
- "last_name": "Allen",
- "team": 9,
- "peg_number": 89,
- "section": "ZZZL"
+ "first_name": "Emily",
+ "last_name": "Marconis",
+ "team": 18,
+ "section": 69,
+ "peg_number": 178
}
},
{
"model": "mainapp.member",
- "pk": 91,
+ "pk": null,
"fields": {
- "first_name": "Gordon",
- "last_name": "Fultz",
- "team": 10,
- "peg_number": 90,
- "section": "ZZZM"
+ "first_name": "Martha",
+ "last_name": "Johnson",
+ "team": 19,
+ "section": 88,
+ "peg_number": 179
}
},
{
"model": "mainapp.member",
- "pk": 92,
+ "pk": null,
"fields": {
- "first_name": "Joel",
- "last_name": "Martin",
- "team": 10,
- "peg_number": 91,
- "section": "ZZZN"
+ "first_name": "Charles",
+ "last_name": "Ober",
+ "team": 19,
+ "section": 91,
+ "peg_number": 180
}
},
{
"model": "mainapp.member",
- "pk": 93,
+ "pk": null,
"fields": {
- "first_name": "David",
- "last_name": "Greenfield",
- "team": 10,
- "peg_number": 92,
- "section": "ZZZO"
+ "first_name": "Kristy",
+ "last_name": "Mayo",
+ "team": 19,
+ "section": 102,
+ "peg_number": 181
}
},
{
"model": "mainapp.member",
- "pk": 94,
+ "pk": null,
"fields": {
- "first_name": "Alfred",
- "last_name": "Cable",
- "team": 10,
- "peg_number": 93,
- "section": "ZZZP"
+ "first_name": "Mabel",
+ "last_name": "Caraballo",
+ "team": 20,
+ "section": 129,
+ "peg_number": 182
}
},
{
"model": "mainapp.member",
- "pk": 95,
+ "pk": null,
"fields": {
- "first_name": "Linda",
- "last_name": "Mann",
- "team": 10,
- "peg_number": 94,
- "section": "ZZZQ"
+ "first_name": "Shelley",
+ "last_name": "Gardea",
+ "team": 20,
+ "section": 13,
+ "peg_number": 183
}
},
{
"model": "mainapp.member",
- "pk": 96,
+ "pk": null,
"fields": {
- "first_name": "Troy",
- "last_name": "Alvardo",
- "team": 10,
- "peg_number": 95,
- "section": "ZZZR"
+ "first_name": "Kristina",
+ "last_name": "Goad",
+ "team": 20,
+ "section": 91,
+ "peg_number": 184
}
},
{
"model": "mainapp.member",
- "pk": 97,
+ "pk": null,
"fields": {
- "first_name": "Joseph",
- "last_name": "Douglas",
- "team": 10,
- "peg_number": 96,
- "section": "ZZZS"
+ "first_name": "Sammie",
+ "last_name": "Reed",
+ "team": 21,
+ "section": 31,
+ "peg_number": 185
}
},
{
"model": "mainapp.member",
- "pk": 98,
+ "pk": null,
+ "fields": {
+ "first_name": "Frank",
+ "last_name": "Wilson",
+ "team": 21,
+ "section": 119,
+ "peg_number": 186
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Hazel",
+ "last_name": "Orosco",
+ "team": 21,
+ "section": 101,
+ "peg_number": 187
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Jorge",
+ "last_name": "Dangelo",
+ "team": 22,
+ "section": 88,
+ "peg_number": 188
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Richard",
+ "last_name": "Broach",
+ "team": 22,
+ "section": 60,
+ "peg_number": 189
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
"fields": {
"first_name": "William",
- "last_name": "Randel",
- "team": 10,
- "peg_number": 97,
- "section": "ZZZT"
+ "last_name": "Mcclellan",
+ "team": 22,
+ "section": 94,
+ "peg_number": 190
}
},
{
"model": "mainapp.member",
- "pk": 99,
+ "pk": null,
"fields": {
- "first_name": "James",
- "last_name": "Richardson",
- "team": 10,
- "peg_number": 98,
- "section": "ZZZU"
+ "first_name": "Warren",
+ "last_name": "Camara",
+ "team": 23,
+ "section": 35,
+ "peg_number": 191
}
},
{
"model": "mainapp.member",
- "pk": 100,
+ "pk": null,
"fields": {
- "first_name": "Bradley",
- "last_name": "Suber",
- "team": 10,
- "peg_number": 99,
- "section": "ZZZV"
+ "first_name": "Gabriela",
+ "last_name": "Davis",
+ "team": 23,
+ "section": 32,
+ "peg_number": 192
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Rebecca",
+ "last_name": "Foster",
+ "team": 23,
+ "section": 83,
+ "peg_number": 193
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Ann",
+ "last_name": "Parks",
+ "team": 24,
+ "section": 36,
+ "peg_number": 194
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Melinda",
+ "last_name": "Gardner",
+ "team": 24,
+ "section": 141,
+ "peg_number": 195
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Paula",
+ "last_name": "Flagge",
+ "team": 24,
+ "section": 138,
+ "peg_number": 196
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Delores",
+ "last_name": "Jenkins",
+ "team": 25,
+ "section": 68,
+ "peg_number": 197
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Amanda",
+ "last_name": "Zamora",
+ "team": 25,
+ "section": 45,
+ "peg_number": 198
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Grace",
+ "last_name": "Hill",
+ "team": 25,
+ "section": 144,
+ "peg_number": 199
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Ronnie",
+ "last_name": "Hornick",
+ "team": 26,
+ "section": 115,
+ "peg_number": 200
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Rebecca",
+ "last_name": "Lilly",
+ "team": 26,
+ "section": 65,
+ "peg_number": 201
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Gena",
+ "last_name": "Hernandez",
+ "team": 26,
+ "section": 74,
+ "peg_number": 202
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Anthony",
+ "last_name": "Mccauley",
+ "team": 27,
+ "section": 103,
+ "peg_number": 203
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Evelyn",
+ "last_name": "Woodman",
+ "team": 27,
+ "section": 59,
+ "peg_number": 204
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Julie",
+ "last_name": "Senecal",
+ "team": 27,
+ "section": 105,
+ "peg_number": 205
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Karen",
+ "last_name": "Smith",
+ "team": 27,
+ "section": 89,
+ "peg_number": 206
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Anna",
+ "last_name": "Ritz",
+ "team": 28,
+ "section": 80,
+ "peg_number": 207
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Chris",
+ "last_name": "Peachey",
+ "team": 28,
+ "section": 157,
+ "peg_number": 208
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Guadalupe",
+ "last_name": "Cannon",
+ "team": 28,
+ "section": 82,
+ "peg_number": 209
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Holly",
+ "last_name": "Solano",
+ "team": 29,
+ "section": 36,
+ "peg_number": 210
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Alice",
+ "last_name": "Prahl",
+ "team": 29,
+ "section": 12,
+ "peg_number": 211
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Robert",
+ "last_name": "Foster",
+ "team": 29,
+ "section": 147,
+ "peg_number": 212
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Rick",
+ "last_name": "Washington",
+ "team": 30,
+ "section": 57,
+ "peg_number": 213
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Frieda",
+ "last_name": "Hoover",
+ "team": 30,
+ "section": 80,
+ "peg_number": 214
+ }
+ },
+ {
+ "model": "mainapp.member",
+ "pk": null,
+ "fields": {
+ "first_name": "Clara",
+ "last_name": "Moore",
+ "team": 30,
+ "section": 33,
+ "peg_number": 215
}
}
]
\ No newline at end of file
diff --git a/src/mainapp/fixtures/sections_fixture.json b/src/mainapp/fixtures/sections_fixture.json
new file mode 100644
index 0000000..37199ed
--- /dev/null
+++ b/src/mainapp/fixtures/sections_fixture.json
@@ -0,0 +1,3502 @@
+[
+ {
+ "model": "mainapp.section",
+ "pk": 1,
+ "fields": {
+ "name": "A"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 2,
+ "fields": {
+ "name": "B"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 3,
+ "fields": {
+ "name": "C"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 4,
+ "fields": {
+ "name": "D"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 5,
+ "fields": {
+ "name": "E"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 6,
+ "fields": {
+ "name": "F"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 7,
+ "fields": {
+ "name": "G"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 8,
+ "fields": {
+ "name": "H"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 9,
+ "fields": {
+ "name": "I"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 10,
+ "fields": {
+ "name": "J"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 11,
+ "fields": {
+ "name": "K"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 12,
+ "fields": {
+ "name": "L"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 13,
+ "fields": {
+ "name": "M"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 14,
+ "fields": {
+ "name": "N"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 15,
+ "fields": {
+ "name": "O"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 16,
+ "fields": {
+ "name": "P"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 17,
+ "fields": {
+ "name": "Q"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 18,
+ "fields": {
+ "name": "R"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 19,
+ "fields": {
+ "name": "S"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 20,
+ "fields": {
+ "name": "T"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 21,
+ "fields": {
+ "name": "U"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 22,
+ "fields": {
+ "name": "V"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 23,
+ "fields": {
+ "name": "W"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 24,
+ "fields": {
+ "name": "X"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 25,
+ "fields": {
+ "name": "Y"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 26,
+ "fields": {
+ "name": "Z"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 27,
+ "fields": {
+ "name": "AA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 28,
+ "fields": {
+ "name": "AB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 29,
+ "fields": {
+ "name": "AC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 30,
+ "fields": {
+ "name": "AD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 31,
+ "fields": {
+ "name": "AE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 32,
+ "fields": {
+ "name": "AF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 33,
+ "fields": {
+ "name": "AG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 34,
+ "fields": {
+ "name": "AH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 35,
+ "fields": {
+ "name": "AI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 36,
+ "fields": {
+ "name": "AJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 37,
+ "fields": {
+ "name": "AK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 38,
+ "fields": {
+ "name": "AL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 39,
+ "fields": {
+ "name": "AM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 40,
+ "fields": {
+ "name": "AN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 41,
+ "fields": {
+ "name": "AO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 42,
+ "fields": {
+ "name": "AP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 43,
+ "fields": {
+ "name": "AQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 44,
+ "fields": {
+ "name": "AR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 45,
+ "fields": {
+ "name": "AS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 46,
+ "fields": {
+ "name": "AT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 47,
+ "fields": {
+ "name": "AU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 48,
+ "fields": {
+ "name": "AV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 49,
+ "fields": {
+ "name": "AW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 50,
+ "fields": {
+ "name": "AX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 51,
+ "fields": {
+ "name": "AY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 52,
+ "fields": {
+ "name": "AZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 53,
+ "fields": {
+ "name": "BA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 54,
+ "fields": {
+ "name": "BB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 55,
+ "fields": {
+ "name": "BC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 56,
+ "fields": {
+ "name": "BD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 57,
+ "fields": {
+ "name": "BE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 58,
+ "fields": {
+ "name": "BF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 59,
+ "fields": {
+ "name": "BG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 60,
+ "fields": {
+ "name": "BH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 61,
+ "fields": {
+ "name": "BI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 62,
+ "fields": {
+ "name": "BJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 63,
+ "fields": {
+ "name": "BK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 64,
+ "fields": {
+ "name": "BL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 65,
+ "fields": {
+ "name": "BM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 66,
+ "fields": {
+ "name": "BN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 67,
+ "fields": {
+ "name": "BO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 68,
+ "fields": {
+ "name": "BP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 69,
+ "fields": {
+ "name": "BQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 70,
+ "fields": {
+ "name": "BR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 71,
+ "fields": {
+ "name": "BS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 72,
+ "fields": {
+ "name": "BT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 73,
+ "fields": {
+ "name": "BU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 74,
+ "fields": {
+ "name": "BV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 75,
+ "fields": {
+ "name": "BW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 76,
+ "fields": {
+ "name": "BX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 77,
+ "fields": {
+ "name": "BY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 78,
+ "fields": {
+ "name": "BZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 79,
+ "fields": {
+ "name": "CA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 80,
+ "fields": {
+ "name": "CB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 81,
+ "fields": {
+ "name": "CC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 82,
+ "fields": {
+ "name": "CD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 83,
+ "fields": {
+ "name": "CE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 84,
+ "fields": {
+ "name": "CF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 85,
+ "fields": {
+ "name": "CG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 86,
+ "fields": {
+ "name": "CH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 87,
+ "fields": {
+ "name": "CI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 88,
+ "fields": {
+ "name": "CJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 89,
+ "fields": {
+ "name": "CK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 90,
+ "fields": {
+ "name": "CL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 91,
+ "fields": {
+ "name": "CM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 92,
+ "fields": {
+ "name": "CN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 93,
+ "fields": {
+ "name": "CO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 94,
+ "fields": {
+ "name": "CP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 95,
+ "fields": {
+ "name": "CQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 96,
+ "fields": {
+ "name": "CR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 97,
+ "fields": {
+ "name": "CS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 98,
+ "fields": {
+ "name": "CT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 99,
+ "fields": {
+ "name": "CU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 100,
+ "fields": {
+ "name": "CV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 101,
+ "fields": {
+ "name": "CW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 102,
+ "fields": {
+ "name": "CX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 103,
+ "fields": {
+ "name": "CY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 104,
+ "fields": {
+ "name": "CZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 105,
+ "fields": {
+ "name": "DA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 106,
+ "fields": {
+ "name": "DB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 107,
+ "fields": {
+ "name": "DC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 108,
+ "fields": {
+ "name": "DD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 109,
+ "fields": {
+ "name": "DE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 110,
+ "fields": {
+ "name": "DF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 111,
+ "fields": {
+ "name": "DG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 112,
+ "fields": {
+ "name": "DH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 113,
+ "fields": {
+ "name": "DI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 114,
+ "fields": {
+ "name": "DJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 115,
+ "fields": {
+ "name": "DK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 116,
+ "fields": {
+ "name": "DL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 117,
+ "fields": {
+ "name": "DM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 118,
+ "fields": {
+ "name": "DN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 119,
+ "fields": {
+ "name": "DO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 120,
+ "fields": {
+ "name": "DP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 121,
+ "fields": {
+ "name": "DQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 122,
+ "fields": {
+ "name": "DR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 123,
+ "fields": {
+ "name": "DS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 124,
+ "fields": {
+ "name": "DT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 125,
+ "fields": {
+ "name": "DU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 126,
+ "fields": {
+ "name": "DV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 127,
+ "fields": {
+ "name": "DW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 128,
+ "fields": {
+ "name": "DX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 129,
+ "fields": {
+ "name": "DY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 130,
+ "fields": {
+ "name": "DZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 131,
+ "fields": {
+ "name": "EA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 132,
+ "fields": {
+ "name": "EB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 133,
+ "fields": {
+ "name": "EC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 134,
+ "fields": {
+ "name": "ED"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 135,
+ "fields": {
+ "name": "EE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 136,
+ "fields": {
+ "name": "EF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 137,
+ "fields": {
+ "name": "EG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 138,
+ "fields": {
+ "name": "EH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 139,
+ "fields": {
+ "name": "EI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 140,
+ "fields": {
+ "name": "EJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 141,
+ "fields": {
+ "name": "EK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 142,
+ "fields": {
+ "name": "EL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 143,
+ "fields": {
+ "name": "EM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 144,
+ "fields": {
+ "name": "EN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 145,
+ "fields": {
+ "name": "EO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 146,
+ "fields": {
+ "name": "EP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 147,
+ "fields": {
+ "name": "EQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 148,
+ "fields": {
+ "name": "ER"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 149,
+ "fields": {
+ "name": "ES"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 150,
+ "fields": {
+ "name": "ET"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 151,
+ "fields": {
+ "name": "EU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 152,
+ "fields": {
+ "name": "EV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 153,
+ "fields": {
+ "name": "EW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 154,
+ "fields": {
+ "name": "EX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 155,
+ "fields": {
+ "name": "EY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 156,
+ "fields": {
+ "name": "EZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 157,
+ "fields": {
+ "name": "FA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 158,
+ "fields": {
+ "name": "FB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 159,
+ "fields": {
+ "name": "FC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 160,
+ "fields": {
+ "name": "FD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 161,
+ "fields": {
+ "name": "FE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 162,
+ "fields": {
+ "name": "FF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 163,
+ "fields": {
+ "name": "FG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 164,
+ "fields": {
+ "name": "FH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 165,
+ "fields": {
+ "name": "FI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 166,
+ "fields": {
+ "name": "FJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 167,
+ "fields": {
+ "name": "FK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 168,
+ "fields": {
+ "name": "FL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 169,
+ "fields": {
+ "name": "FM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 170,
+ "fields": {
+ "name": "FN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 171,
+ "fields": {
+ "name": "FO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 172,
+ "fields": {
+ "name": "FP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 173,
+ "fields": {
+ "name": "FQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 174,
+ "fields": {
+ "name": "FR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 175,
+ "fields": {
+ "name": "FS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 176,
+ "fields": {
+ "name": "FT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 177,
+ "fields": {
+ "name": "FU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 178,
+ "fields": {
+ "name": "FV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 179,
+ "fields": {
+ "name": "FW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 180,
+ "fields": {
+ "name": "FX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 181,
+ "fields": {
+ "name": "FY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 182,
+ "fields": {
+ "name": "FZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 183,
+ "fields": {
+ "name": "GA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 184,
+ "fields": {
+ "name": "GB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 185,
+ "fields": {
+ "name": "GC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 186,
+ "fields": {
+ "name": "GD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 187,
+ "fields": {
+ "name": "GE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 188,
+ "fields": {
+ "name": "GF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 189,
+ "fields": {
+ "name": "GG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 190,
+ "fields": {
+ "name": "GH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 191,
+ "fields": {
+ "name": "GI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 192,
+ "fields": {
+ "name": "GJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 193,
+ "fields": {
+ "name": "GK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 194,
+ "fields": {
+ "name": "GL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 195,
+ "fields": {
+ "name": "GM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 196,
+ "fields": {
+ "name": "GN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 197,
+ "fields": {
+ "name": "GO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 198,
+ "fields": {
+ "name": "GP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 199,
+ "fields": {
+ "name": "GQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 200,
+ "fields": {
+ "name": "GR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 201,
+ "fields": {
+ "name": "GS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 202,
+ "fields": {
+ "name": "GT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 203,
+ "fields": {
+ "name": "GU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 204,
+ "fields": {
+ "name": "GV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 205,
+ "fields": {
+ "name": "GW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 206,
+ "fields": {
+ "name": "GX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 207,
+ "fields": {
+ "name": "GY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 208,
+ "fields": {
+ "name": "GZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 209,
+ "fields": {
+ "name": "HA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 210,
+ "fields": {
+ "name": "HB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 211,
+ "fields": {
+ "name": "HC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 212,
+ "fields": {
+ "name": "HD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 213,
+ "fields": {
+ "name": "HE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 214,
+ "fields": {
+ "name": "HF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 215,
+ "fields": {
+ "name": "HG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 216,
+ "fields": {
+ "name": "HH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 217,
+ "fields": {
+ "name": "HI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 218,
+ "fields": {
+ "name": "HJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 219,
+ "fields": {
+ "name": "HK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 220,
+ "fields": {
+ "name": "HL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 221,
+ "fields": {
+ "name": "HM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 222,
+ "fields": {
+ "name": "HN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 223,
+ "fields": {
+ "name": "HO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 224,
+ "fields": {
+ "name": "HP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 225,
+ "fields": {
+ "name": "HQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 226,
+ "fields": {
+ "name": "HR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 227,
+ "fields": {
+ "name": "HS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 228,
+ "fields": {
+ "name": "HT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 229,
+ "fields": {
+ "name": "HU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 230,
+ "fields": {
+ "name": "HV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 231,
+ "fields": {
+ "name": "HW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 232,
+ "fields": {
+ "name": "HX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 233,
+ "fields": {
+ "name": "HY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 234,
+ "fields": {
+ "name": "HZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 235,
+ "fields": {
+ "name": "IA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 236,
+ "fields": {
+ "name": "IB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 237,
+ "fields": {
+ "name": "IC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 238,
+ "fields": {
+ "name": "ID"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 239,
+ "fields": {
+ "name": "IE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 240,
+ "fields": {
+ "name": "IF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 241,
+ "fields": {
+ "name": "IG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 242,
+ "fields": {
+ "name": "IH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 243,
+ "fields": {
+ "name": "II"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 244,
+ "fields": {
+ "name": "IJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 245,
+ "fields": {
+ "name": "IK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 246,
+ "fields": {
+ "name": "IL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 247,
+ "fields": {
+ "name": "IM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 248,
+ "fields": {
+ "name": "IN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 249,
+ "fields": {
+ "name": "IO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 250,
+ "fields": {
+ "name": "IP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 251,
+ "fields": {
+ "name": "IQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 252,
+ "fields": {
+ "name": "IR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 253,
+ "fields": {
+ "name": "IS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 254,
+ "fields": {
+ "name": "IT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 255,
+ "fields": {
+ "name": "IU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 256,
+ "fields": {
+ "name": "IV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 257,
+ "fields": {
+ "name": "IW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 258,
+ "fields": {
+ "name": "IX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 259,
+ "fields": {
+ "name": "IY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 260,
+ "fields": {
+ "name": "IZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 261,
+ "fields": {
+ "name": "JA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 262,
+ "fields": {
+ "name": "JB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 263,
+ "fields": {
+ "name": "JC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 264,
+ "fields": {
+ "name": "JD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 265,
+ "fields": {
+ "name": "JE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 266,
+ "fields": {
+ "name": "JF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 267,
+ "fields": {
+ "name": "JG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 268,
+ "fields": {
+ "name": "JH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 269,
+ "fields": {
+ "name": "JI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 270,
+ "fields": {
+ "name": "JJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 271,
+ "fields": {
+ "name": "JK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 272,
+ "fields": {
+ "name": "JL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 273,
+ "fields": {
+ "name": "JM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 274,
+ "fields": {
+ "name": "JN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 275,
+ "fields": {
+ "name": "JO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 276,
+ "fields": {
+ "name": "JP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 277,
+ "fields": {
+ "name": "JQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 278,
+ "fields": {
+ "name": "JR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 279,
+ "fields": {
+ "name": "JS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 280,
+ "fields": {
+ "name": "JT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 281,
+ "fields": {
+ "name": "JU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 282,
+ "fields": {
+ "name": "JV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 283,
+ "fields": {
+ "name": "JW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 284,
+ "fields": {
+ "name": "JX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 285,
+ "fields": {
+ "name": "JY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 286,
+ "fields": {
+ "name": "JZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 287,
+ "fields": {
+ "name": "KA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 288,
+ "fields": {
+ "name": "KB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 289,
+ "fields": {
+ "name": "KC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 290,
+ "fields": {
+ "name": "KD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 291,
+ "fields": {
+ "name": "KE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 292,
+ "fields": {
+ "name": "KF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 293,
+ "fields": {
+ "name": "KG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 294,
+ "fields": {
+ "name": "KH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 295,
+ "fields": {
+ "name": "KI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 296,
+ "fields": {
+ "name": "KJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 297,
+ "fields": {
+ "name": "KK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 298,
+ "fields": {
+ "name": "KL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 299,
+ "fields": {
+ "name": "KM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 300,
+ "fields": {
+ "name": "KN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 301,
+ "fields": {
+ "name": "KO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 302,
+ "fields": {
+ "name": "KP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 303,
+ "fields": {
+ "name": "KQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 304,
+ "fields": {
+ "name": "KR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 305,
+ "fields": {
+ "name": "KS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 306,
+ "fields": {
+ "name": "KT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 307,
+ "fields": {
+ "name": "KU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 308,
+ "fields": {
+ "name": "KV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 309,
+ "fields": {
+ "name": "KW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 310,
+ "fields": {
+ "name": "KX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 311,
+ "fields": {
+ "name": "KY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 312,
+ "fields": {
+ "name": "KZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 313,
+ "fields": {
+ "name": "LA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 314,
+ "fields": {
+ "name": "LB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 315,
+ "fields": {
+ "name": "LC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 316,
+ "fields": {
+ "name": "LD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 317,
+ "fields": {
+ "name": "LE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 318,
+ "fields": {
+ "name": "LF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 319,
+ "fields": {
+ "name": "LG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 320,
+ "fields": {
+ "name": "LH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 321,
+ "fields": {
+ "name": "LI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 322,
+ "fields": {
+ "name": "LJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 323,
+ "fields": {
+ "name": "LK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 324,
+ "fields": {
+ "name": "LL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 325,
+ "fields": {
+ "name": "LM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 326,
+ "fields": {
+ "name": "LN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 327,
+ "fields": {
+ "name": "LO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 328,
+ "fields": {
+ "name": "LP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 329,
+ "fields": {
+ "name": "LQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 330,
+ "fields": {
+ "name": "LR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 331,
+ "fields": {
+ "name": "LS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 332,
+ "fields": {
+ "name": "LT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 333,
+ "fields": {
+ "name": "LU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 334,
+ "fields": {
+ "name": "LV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 335,
+ "fields": {
+ "name": "LW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 336,
+ "fields": {
+ "name": "LX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 337,
+ "fields": {
+ "name": "LY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 338,
+ "fields": {
+ "name": "LZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 339,
+ "fields": {
+ "name": "MA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 340,
+ "fields": {
+ "name": "MB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 341,
+ "fields": {
+ "name": "MC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 342,
+ "fields": {
+ "name": "MD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 343,
+ "fields": {
+ "name": "ME"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 344,
+ "fields": {
+ "name": "MF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 345,
+ "fields": {
+ "name": "MG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 346,
+ "fields": {
+ "name": "MH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 347,
+ "fields": {
+ "name": "MI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 348,
+ "fields": {
+ "name": "MJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 349,
+ "fields": {
+ "name": "MK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 350,
+ "fields": {
+ "name": "ML"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 351,
+ "fields": {
+ "name": "MM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 352,
+ "fields": {
+ "name": "MN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 353,
+ "fields": {
+ "name": "MO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 354,
+ "fields": {
+ "name": "MP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 355,
+ "fields": {
+ "name": "MQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 356,
+ "fields": {
+ "name": "MR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 357,
+ "fields": {
+ "name": "MS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 358,
+ "fields": {
+ "name": "MT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 359,
+ "fields": {
+ "name": "MU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 360,
+ "fields": {
+ "name": "MV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 361,
+ "fields": {
+ "name": "MW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 362,
+ "fields": {
+ "name": "MX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 363,
+ "fields": {
+ "name": "MY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 364,
+ "fields": {
+ "name": "MZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 365,
+ "fields": {
+ "name": "NA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 366,
+ "fields": {
+ "name": "NB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 367,
+ "fields": {
+ "name": "NC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 368,
+ "fields": {
+ "name": "ND"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 369,
+ "fields": {
+ "name": "NE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 370,
+ "fields": {
+ "name": "NF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 371,
+ "fields": {
+ "name": "NG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 372,
+ "fields": {
+ "name": "NH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 373,
+ "fields": {
+ "name": "NI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 374,
+ "fields": {
+ "name": "NJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 375,
+ "fields": {
+ "name": "NK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 376,
+ "fields": {
+ "name": "NL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 377,
+ "fields": {
+ "name": "NM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 378,
+ "fields": {
+ "name": "NN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 379,
+ "fields": {
+ "name": "NO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 380,
+ "fields": {
+ "name": "NP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 381,
+ "fields": {
+ "name": "NQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 382,
+ "fields": {
+ "name": "NR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 383,
+ "fields": {
+ "name": "NS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 384,
+ "fields": {
+ "name": "NT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 385,
+ "fields": {
+ "name": "NU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 386,
+ "fields": {
+ "name": "NV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 387,
+ "fields": {
+ "name": "NW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 388,
+ "fields": {
+ "name": "NX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 389,
+ "fields": {
+ "name": "NY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 390,
+ "fields": {
+ "name": "NZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 391,
+ "fields": {
+ "name": "OA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 392,
+ "fields": {
+ "name": "OB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 393,
+ "fields": {
+ "name": "OC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 394,
+ "fields": {
+ "name": "OD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 395,
+ "fields": {
+ "name": "OE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 396,
+ "fields": {
+ "name": "OF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 397,
+ "fields": {
+ "name": "OG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 398,
+ "fields": {
+ "name": "OH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 399,
+ "fields": {
+ "name": "OI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 400,
+ "fields": {
+ "name": "OJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 401,
+ "fields": {
+ "name": "OK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 402,
+ "fields": {
+ "name": "OL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 403,
+ "fields": {
+ "name": "OM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 404,
+ "fields": {
+ "name": "ON"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 405,
+ "fields": {
+ "name": "OO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 406,
+ "fields": {
+ "name": "OP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 407,
+ "fields": {
+ "name": "OQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 408,
+ "fields": {
+ "name": "OR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 409,
+ "fields": {
+ "name": "OS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 410,
+ "fields": {
+ "name": "OT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 411,
+ "fields": {
+ "name": "OU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 412,
+ "fields": {
+ "name": "OV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 413,
+ "fields": {
+ "name": "OW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 414,
+ "fields": {
+ "name": "OX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 415,
+ "fields": {
+ "name": "OY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 416,
+ "fields": {
+ "name": "OZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 417,
+ "fields": {
+ "name": "PA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 418,
+ "fields": {
+ "name": "PB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 419,
+ "fields": {
+ "name": "PC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 420,
+ "fields": {
+ "name": "PD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 421,
+ "fields": {
+ "name": "PE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 422,
+ "fields": {
+ "name": "PF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 423,
+ "fields": {
+ "name": "PG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 424,
+ "fields": {
+ "name": "PH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 425,
+ "fields": {
+ "name": "PI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 426,
+ "fields": {
+ "name": "PJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 427,
+ "fields": {
+ "name": "PK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 428,
+ "fields": {
+ "name": "PL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 429,
+ "fields": {
+ "name": "PM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 430,
+ "fields": {
+ "name": "PN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 431,
+ "fields": {
+ "name": "PO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 432,
+ "fields": {
+ "name": "PP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 433,
+ "fields": {
+ "name": "PQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 434,
+ "fields": {
+ "name": "PR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 435,
+ "fields": {
+ "name": "PS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 436,
+ "fields": {
+ "name": "PT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 437,
+ "fields": {
+ "name": "PU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 438,
+ "fields": {
+ "name": "PV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 439,
+ "fields": {
+ "name": "PW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 440,
+ "fields": {
+ "name": "PX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 441,
+ "fields": {
+ "name": "PY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 442,
+ "fields": {
+ "name": "PZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 443,
+ "fields": {
+ "name": "QA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 444,
+ "fields": {
+ "name": "QB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 445,
+ "fields": {
+ "name": "QC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 446,
+ "fields": {
+ "name": "QD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 447,
+ "fields": {
+ "name": "QE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 448,
+ "fields": {
+ "name": "QF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 449,
+ "fields": {
+ "name": "QG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 450,
+ "fields": {
+ "name": "QH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 451,
+ "fields": {
+ "name": "QI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 452,
+ "fields": {
+ "name": "QJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 453,
+ "fields": {
+ "name": "QK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 454,
+ "fields": {
+ "name": "QL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 455,
+ "fields": {
+ "name": "QM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 456,
+ "fields": {
+ "name": "QN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 457,
+ "fields": {
+ "name": "QO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 458,
+ "fields": {
+ "name": "QP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 459,
+ "fields": {
+ "name": "QQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 460,
+ "fields": {
+ "name": "QR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 461,
+ "fields": {
+ "name": "QS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 462,
+ "fields": {
+ "name": "QT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 463,
+ "fields": {
+ "name": "QU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 464,
+ "fields": {
+ "name": "QV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 465,
+ "fields": {
+ "name": "QW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 466,
+ "fields": {
+ "name": "QX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 467,
+ "fields": {
+ "name": "QY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 468,
+ "fields": {
+ "name": "QZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 469,
+ "fields": {
+ "name": "RA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 470,
+ "fields": {
+ "name": "RB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 471,
+ "fields": {
+ "name": "RC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 472,
+ "fields": {
+ "name": "RD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 473,
+ "fields": {
+ "name": "RE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 474,
+ "fields": {
+ "name": "RF"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 475,
+ "fields": {
+ "name": "RG"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 476,
+ "fields": {
+ "name": "RH"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 477,
+ "fields": {
+ "name": "RI"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 478,
+ "fields": {
+ "name": "RJ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 479,
+ "fields": {
+ "name": "RK"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 480,
+ "fields": {
+ "name": "RL"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 481,
+ "fields": {
+ "name": "RM"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 482,
+ "fields": {
+ "name": "RN"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 483,
+ "fields": {
+ "name": "RO"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 484,
+ "fields": {
+ "name": "RP"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 485,
+ "fields": {
+ "name": "RQ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 486,
+ "fields": {
+ "name": "RR"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 487,
+ "fields": {
+ "name": "RS"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 488,
+ "fields": {
+ "name": "RT"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 489,
+ "fields": {
+ "name": "RU"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 490,
+ "fields": {
+ "name": "RV"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 491,
+ "fields": {
+ "name": "RW"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 492,
+ "fields": {
+ "name": "RX"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 493,
+ "fields": {
+ "name": "RY"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 494,
+ "fields": {
+ "name": "RZ"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 495,
+ "fields": {
+ "name": "SA"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 496,
+ "fields": {
+ "name": "SB"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 497,
+ "fields": {
+ "name": "SC"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 498,
+ "fields": {
+ "name": "SD"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 499,
+ "fields": {
+ "name": "SE"
+ }
+ },
+ {
+ "model": "mainapp.section",
+ "pk": 500,
+ "fields": {
+ "name": "SF"
+ }
+ }
+]
\ No newline at end of file
diff --git a/src/mainapp/fixtures/teams_fixture.json b/src/mainapp/fixtures/teams_fixture.json
index 1c3ecb6..337ffc4 100644
--- a/src/mainapp/fixtures/teams_fixture.json
+++ b/src/mainapp/fixtures/teams_fixture.json
@@ -2,71 +2,151 @@
{
"model": "mainapp.team",
"pk": 1,
- "fields": {
- "section_letter": "M"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 2,
- "fields": {
- "section_letter": "K"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 3,
- "fields": {
- "section_letter": "Q"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 4,
- "fields": {
- "section_letter": "V"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 5,
- "fields": {
- "section_letter": "U"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 6,
- "fields": {
- "section_letter": "H"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 7,
- "fields": {
- "section_letter": "A"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 8,
- "fields": {
- "section_letter": "D"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 9,
- "fields": {
- "section_letter": "P"
- }
+ "fields": {}
},
{
"model": "mainapp.team",
"pk": 10,
- "fields": {
- "section_letter": "G"
- }
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 11,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 12,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 13,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 14,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 15,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 16,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 17,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 18,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 19,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 20,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 21,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 22,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 23,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 24,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 25,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 26,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 27,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 28,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 29,
+ "fields": {}
+ },
+ {
+ "model": "mainapp.team",
+ "pk": 30,
+ "fields": {}
}
]
\ No newline at end of file
diff --git a/src/mainapp/management/commands/create_members_fixture.py b/src/mainapp/management/commands/create_members_fixture.py
index 9365430..27ab6bb 100644
--- a/src/mainapp/management/commands/create_members_fixture.py
+++ b/src/mainapp/management/commands/create_members_fixture.py
@@ -1,84 +1,117 @@
import names
import json
+import random
from typing import Optional, List, Set
from string import ascii_uppercase
from django.core.management.base import BaseCommand
+from django.db.models import Q, Count
-from mainapp.models import Member, Team, SectionValidator
+from mainapp.models import Member, Team, SectionValidator, Section
# TODO: refactor this file like create_teams_fixtures.py
-# SECTION_LETTERS = ascii_uppercase
-
-
-# def get_next_available_section(member: Member, section_validator: SectionValidator) -> Optional[str]:
-# """Returns the next available section for a member."""
-# member_sections = member.sections.all().values_list('name', flat=True)
-# used_sections = set(member_sections)
-
-# if not member_sections:
-# return "A"
-
-# used_sections = sorted(used_sections)
-
-# last_section = member_sections[-1]
-# last_section_index = SECTION_LETTERS.index(last_section)
-
-# for i in range(last_section_index + 1, len(SECTION_LETTERS)):
-# section = SECTION_LETTERS[i]
-# if section_validator.is_valid_section(section) and section not in used_sections:
-# return section
-
-# for i in range(last_section_index - 1, -1, -1):
-# section = SECTION_LETTERS[i]
-# if section_validator.is_valid_section(section) and section not in used_sections:
-# return section
-
-# return None
-
-
-
class Command(BaseCommand):
help = "Creates a fixture with randomly generated Member objects"
def add_arguments(self, parser):
- parser.add_argument("num_members", type=int)
+ parser.add_argument("members_per_team", type=int)
def handle(self, *args, **options):
- num_members = options["num_members"]
+ members_per_team = options["members_per_team"]
+
teams = Team.objects.all()
+
if not teams:
- print("No teams found. Please create some teams first.")
- return
+ raise Exception("no teams")
- members = []
+ new_members = []
for team in teams:
- for _ in range(num_members):
- first_name = names.get_first_name()
- last_name = names.get_last_name()
- member = Member.objects.create(first_name=first_name, last_name=last_name, team=team)
- members.append(member)
- self.stdout.write(self.style.SUCCESS(f"Created {num_members} members."))
+ i = members_per_team
+ while i > 0:
- # create a members fixture file
- members_fixture = []
- for member in members:
- member_fixture = {
+ team_member_ids = team.members.values_list('id', flat=True)
+
+ print(team_member_ids)
+
+ section = random.choice([
+ sec for sec in
+ Section.objects.exclude(members__id__in=team_member_ids)
+ ])
+
+ member = Member.objects.create(
+ first_name=names.get_first_name(),
+ last_name=names.get_last_name(),
+ section=section,
+ team=team
+ )
+
+ if not section.is_joinable(member):
+ member.delete()
+ i += 1
+ continue
+
+ new_members.append(member)
+ print(member)
+
+ i -= 1
+
+ fixtures = []
+ for member in new_members:
+ member.delete()
+
+ fixture = {
"model": "mainapp.member",
"pk": member.pk,
"fields": {
"first_name": member.first_name,
"last_name": member.last_name,
"team": member.team_id,
- "peg_number": member.peg_number,
+ "section": member.section_id,
+ "peg_number": member.peg_number
}
}
- members_fixture.append(member_fixture)
+ fixtures.append(fixture)
with open("src/mainapp/fixtures/members_fixture.json", "w") as f:
- f.write(json.dumps(members_fixture, indent=2))
+ f.write(json.dumps(fixtures, indent=2))
self.stdout.write(self.style.SUCCESS("Created members_fixture.json."))
+
+ # def handle(self, *args, **options):
+ # num_members = options["num_members"]
+ # teams = Team.objects.all()
+ # if not teams:
+ # print("No teams found. Please create some teams first.")
+ # return
+
+ # members = []
+ # for team in teams:
+ # for _ in range(num_members):
+ # first_name = names.get_first_name()
+ # last_name = names.get_last_name()
+ # member = Member.objects.create(first_name=first_name, last_name=last_name, team=team)
+ # members.append(member)
+
+ # self.stdout.write(self.style.SUCCESS(f"Created {num_members} members."))
+
+ # # create a members fixture file
+ # members_fixture = []
+ # for member in members:
+ # member_fixture = {
+ # "model": "mainapp.member",
+ # "pk": member.pk,
+ # "fields": {
+ # "first_name": member.first_name,
+ # "last_name": member.last_name,
+ # "team": member.team_id,
+ # "peg_number": member.peg_number,
+ # }
+ # }
+ # members_fixture.append(member_fixture)
+
+ # with open("src/mainapp/fixtures/members_fixture.json", "w") as f:
+ # f.write(json.dumps(members_fixture, indent=2))
+ # self.stdout.write(self.style.SUCCESS("Created members_fixture.json."))
diff --git a/src/mainapp/management/commands/create_sections_fixture.py b/src/mainapp/management/commands/create_sections_fixture.py
new file mode 100644
index 0000000..ed1baaf
--- /dev/null
+++ b/src/mainapp/management/commands/create_sections_fixture.py
@@ -0,0 +1,79 @@
+"""Command to create test data fixture for sections."""
+
+import json
+from string import ascii_uppercase
+
+from django.core.management.base import BaseCommand
+
+from mainapp.models import Section, SectionValidator
+
+
+def name_sort_key(name):
+ if len(name) == 1:
+ return (0, name)
+ else:
+ return (1, name[:-1], name[-1])
+
+
+class Command(BaseCommand):
+ help = "Creates a fixture file for Team objects"
+
+ def add_arguments(self, parser):
+ parser.add_argument("amount_of_sections", type=int, help="Number of sections to create")
+
+ def handle(self, *args, **options):
+ amount_of_sections = options["amount_of_sections"]
+
+ used_names = set()
+ last_name = ""
+
+ for i in range(amount_of_sections):
+ add_character = last_name.endswith("Z")
+ if add_character:
+ last_name = ""
+
+ new_name = last_name if add_character else ""
+ if not new_name.endswith("Z"):
+ new_name = new_name[:-1] if len(new_name) > 1 else new_name
+
+ try:
+ new_name += ascii_uppercase[i]
+ except IndexError:
+ quotient, remainder = divmod(i, 26)
+ new_name += ascii_uppercase[quotient - 1] + ascii_uppercase[remainder]
+
+ while new_name in used_names:
+ if new_name[-1] == "Z":
+ idx = len(new_name) - 2
+ while idx >= 0 and new_name[idx] == "Z":
+ idx -= 1
+ if idx < 0:
+ new_name = "A" * (len(new_name) + 1)
+ else:
+ new_name = new_name[:idx] + chr(ord(new_name[idx]) + 1) + "A" * (len(new_name) - idx - 1)
+ else:
+ new_name = new_name[:-1] + chr(ord(new_name[-1]) + 1)
+
+ used_names.add(new_name)
+ last_name = new_name
+
+ names = sorted([name for name in used_names], key=name_sort_key)
+
+ print([name for name in names])
+ sections = [Section(name=name) for name in names]
+ Section.objects.bulk_create(sections)
+
+ fixture = [{
+ "model": "mainapp.section",
+ "pk": section.pk,
+ "fields": {
+ "name": section.name
+ }
+ } for section in sections]
+
+ for section in sections:
+ section.delete()
+
+ with open("src/mainapp/fixtures/sections_fixture.json", "w") as file:
+ file.write(json.dumps(fixture, indent=4))
+ self.stdout.write(self.style.SUCCESS("Created sections_fixture.json."))
\ No newline at end of file
diff --git a/src/mainapp/management/commands/create_teams_fixture.py b/src/mainapp/management/commands/create_teams_fixture.py
index 831381f..8b64ca9 100644
--- a/src/mainapp/management/commands/create_teams_fixture.py
+++ b/src/mainapp/management/commands/create_teams_fixture.py
@@ -1,12 +1,10 @@
"""Command to create test data fixture for teams."""
-import random
import json
-from string import ascii_uppercase
from django.core.management.base import BaseCommand
-from django.db.utils import IntegrityError
-from mainapp.models import Team, BLOCKED_SECTION_LETTERS
+
+from mainapp.models import Team
class Command(BaseCommand):
@@ -16,43 +14,15 @@ class Command(BaseCommand):
parser.add_argument("amount_of_teams", type=int, help="Number of teams to create")
def handle(self, *args, **options):
-
- existing_teams = Team.objects.all()
-
- # Available sections
- available_sections = [
- char for char in [*ascii_uppercase]
- if char.lower() not in BLOCKED_SECTION_LETTERS
- and char not in [team.section_letter for team in existing_teams]
- ]
-
- if not available_sections:
- self.stdout.write(self.style.ERROR(
- f"There are no available sections for new teams."
- ))
- return
-
teams_amount = options["amount_of_teams"]
- max_teams = len(available_sections)
-
- if teams_amount > max_teams:
- self.stdout.write(self.style.ERROR(
- f"Number of teams is too large [{teams_amount}/{max_teams}]."
- ))
- return
# Create the new teams (this will create them in the database)#
- new_teams = []
- for i in range(teams_amount):
- section_letter = random.choice(available_sections)
- available_sections.remove(section_letter)
- team = Team.objects.create(section_letter=section_letter)
- new_teams.append(team)
+ new_teams = [Team.objects.create() for i in range(teams_amount)]
teams_fixture = [{
"model": "mainapp.team",
"pk": team.pk,
- "fields": {"section_letter": team.section_letter}
+ "fields": {}
} for team in new_teams]
# Remove the teams from the database
diff --git a/src/mainapp/migrations/0001_initial.py b/src/mainapp/migrations/0001_initial.py
index 54baf42..ed59721 100644
--- a/src/mainapp/migrations/0001_initial.py
+++ b/src/mainapp/migrations/0001_initial.py
@@ -1,4 +1,4 @@
-# Generated by Django 4.1.5 on 2023-05-09 22:52
+# Generated by Django 4.1.5 on 2023-05-10 08:30
from django.db import migrations, models
import django.db.models.deletion
@@ -17,13 +17,13 @@ class Migration(migrations.Migration):
name='Section',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('name', models.CharField(editable=False, max_length=3, unique=True)),
+ ('name', models.CharField(max_length=3, unique=True)),
],
),
migrations.CreateModel(
name='Team',
fields=[
- ('team_number', mainapp.models.ReusableAutoField(default=mainapp.models.ReusableAutoField.get_default, editable=False, primary_key=True, serialize=False)),
+ ('name', mainapp.models.ReusableAutoField(default=mainapp.models.ReusableAutoField.get_default, editable=False, primary_key=True, serialize=False)),
],
),
migrations.CreateModel(
@@ -34,7 +34,7 @@ class Migration(migrations.Migration):
('last_name', models.CharField(max_length=255)),
('peg_number', models.PositiveIntegerField(null=True, unique=True)),
('section', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='mainapp.section')),
- ('team', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='members', to='mainapp.team', validators=[mainapp.models.validate_team_size])),
+ ('team', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='members', to='mainapp.team')),
],
),
]
diff --git a/src/mainapp/migrations/0002_rename_team_number_team_name_alter_section_name.py b/src/mainapp/migrations/0002_rename_team_number_team_name_alter_section_name.py
deleted file mode 100644
index da157db..0000000
--- a/src/mainapp/migrations/0002_rename_team_number_team_name_alter_section_name.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# Generated by Django 4.1.5 on 2023-05-09 23:20
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('mainapp', '0001_initial'),
- ]
-
- operations = [
- migrations.RenameField(
- model_name='team',
- old_name='team_number',
- new_name='name',
- ),
- migrations.AlterField(
- model_name='section',
- name='name',
- field=models.CharField(max_length=3, unique=True),
- ),
- ]
diff --git a/src/mainapp/models.py b/src/mainapp/models.py
index 217dd03..14a4ffd 100644
--- a/src/mainapp/models.py
+++ b/src/mainapp/models.py
@@ -1,4 +1,4 @@
-from string import ascii_uppercase
+"""Models for the mainapp."""
from django.db import models
from django.core.exceptions import ValidationError
@@ -7,7 +7,7 @@ from django.db import models
class ReusableAutoField(models.PositiveIntegerField):
- """A django auto field that can reuse deleted primary keys"""
+ """A django auto field that can reuse deleted primary keys."""
def get_next_available_id(self, model_cls, using=None):
"""
@@ -31,15 +31,6 @@ class ReusableAutoField(models.PositiveIntegerField):
return self.get_next_available_id(self.model)
-# class Peg(models.Model):
-# """Represents a person's peg"""
-
-# peg_number = ReusableAutoField(primary_key=True, default=ReusableAutoField.get_default, editable=False)
-
-# def __str__(self):
-# return f"Peg {self.peg_number}"
-
-
class SectionValidator:
"""Validation class for the `section` field on the `member` model."""
@@ -124,13 +115,54 @@ class Section(models.Model):
return self.name
@property
- def members(self):
+ def get_members(self):
return Member.objects.filter(section=self)
+ @property
+ def section_after(self):
+ """Returns the next section after this one, or none if not found."""
+ sections = [sec for sec in Section.objects.all()]
+ sections.sort(key=lambda sec: sec.name)
+ try:
+ return sections[sections.index(self) + 1]
+ except IndexError:
+ return None
-def validate_team_size(value):
- if Member.objects.filter(team=value).count() >= 3:
- raise ValidationError('Team already has maximal amount of members (3)')
+ @property
+ def section_before(self):
+ """Returns the last section before this one, or none if not found."""
+ sections = [sec for sec in Section.objects.all()]
+ sections.sort(key=lambda sec: sec.name)
+ try:
+ return sections[sections.index(self) - 1]
+ except IndexError:
+ return None
+
+ def is_joinable(self, member, /) -> bool:
+ """Returns boolean if a member is able to join this section."""
+
+ if not member.team:
+ return True
+
+ teammates = [teammate for teammate in Member.objects.filter(team=member.team)]
+
+ section_after = self.section_after.get_members if self.section_after else []
+ section_before = self.section_before.get_members if self.section_before else []
+
+ for teammate in teammates:
+ if teammate in section_after:
+ return False
+
+ if teammate in section_before:
+ return False
+
+ return True
+
+ return any(
+ teammate in section_after or teammate in section_before
+ for teammate in teammates
+ )
+
class Member(models.Model):
@@ -138,9 +170,9 @@ class Member(models.Model):
first_name = models.CharField(max_length=255)
last_name = models.CharField(max_length=255)
- team = models.ForeignKey("Team", on_delete=models.SET_NULL, null=True, blank=True, validators=(validate_team_size,), related_name='members')
+ team = models.ForeignKey("Team", on_delete=models.SET_NULL, null=True, blank=True, related_name='members')
peg_number = models.PositiveIntegerField(null=True, editable=True, unique=True)
- section = models.ForeignKey(to=Section, on_delete=models.SET_NULL, null=True, swappable=True)
+ section = models.ForeignKey(to=Section, on_delete=models.SET_NULL, null=True, swappable=True, related_name='members')
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@ -153,46 +185,22 @@ class Member(models.Model):
if peg_numbers:
self.peg_number = min (peg_numbers)
- # def clean(self):
- # super().clean()
-
- # validator = SectionValidator(max_value="ZZZ")
- # if not validator.is_valid(self.section):
- # raise ValidationError("Invalid section value.")
-
def __str__(self):
- return f"{self.first_name} {self.last_name} (team {self.team.team_number}))"
+ return f"{self.first_name} {self.last_name} (team {self.team.name}) [section {self.section.name}]"
@property
def fullname(self) -> str:
return f"{self.first_name} {self.last_name}"
-
-BLOCKED_SECTION_LETTERS = ["i"] # lowercase only, sections cannot be any of these letters#
-
-
class Team(models.Model):
"""Represents a team"""
name = ReusableAutoField(primary_key=True, default=ReusableAutoField.get_default, editable=False)
- # section_letter = models.CharField(max_length=1, unique=True, choices=[
- # (char, char) for char in ascii_uppercase if char.lower() not in BLOCKED_SECTION_LETTERS
- # ])
def __str__(self):
return f"Team {self.name}"
@property
- def members(self) -> list[Member]:
+ def get_members(self) -> list[Member]:
return Member.objects.filter(team=self)
-
-# def validate_section_character(value):
-# """Validates the section character"""
-
-# value = value.upper()
-# banned_characters = ["I"]
-
-# if value in banned_characters:
-# raise ValidationError(f"The character <{value}> is a prohibited character.")
-
diff --git a/src/mainapp/templates/index.html b/src/mainapp/templates/index.html
index afeda4e..caf0414 100644
--- a/src/mainapp/templates/index.html
+++ b/src/mainapp/templates/index.html
@@ -1,53 +1,90 @@
{% extends "base.html" %}
{% block content %}
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi faucibus elementum diam nec semper. Nullam vestibulum enim eu nisi condimentum, vitae suscipit risus imperdiet.Results System
-