Note that there are some explanatory texts on larger screens.

plurals
  1. POLooking for input in model design for Django Schools
    primarykey
    data
    text
    <p>Today I'm starting a little project to create a Django based school administration program. I'm currently designing the models and their corresponding relationships. Being rather new to Django and relational databases in general, I would like some input.</p> <p>Before I show you the current model layout, you need to have an idea of what the program is meant to do. Keep in mind that it is my goal for the software to be usable by both individual schools and entire school systems.</p> <p>Features: - Create multiple schools<br> - Track student population per school<br> - Track student demographics, parent contact info, etc.<br> - Grade books<br> - Transcripts<br> - Track disciplinary record.<br> - Fees schedules and payment tracking<br> - Generate reports (student activity, student transcripts, class progress, progress by demographic, payment reports, disciplinary report by student class and demographic)<br> -- Automated PDF report email to parents for student reports.</p> <p>Given those feature requirements, here is the model layout that I currently have: Models</p> <pre><code>* Person o ID: char or int o FirstName: char o MiddleName: char o FamilyName: char o Sex: multiple choice o Ethnicity: multiple choice o BirthDate: date o Email: char o HomePhone: char o WordPhone: char o CellPhone: char o Address: one-to-one with Location * Student (inherent Person) o Classes: one-to-many with Class o Parents: one-to-many with Parent o Account: one-to-one with PaymentSchedule o Tasks: one-to-many with Tasks o Diciplin: one-to-many with Discipline * Parent (inherent Person) o Children: one-to-many with Student * Teacher (inherent Person) o Classes: one-to-many with Class * Location o Address: char o Address2: char o Address3: char o City: char o StateProvince: char o PostalCode: char o Country: multiple choice * Course o Name: char o Description: text field o Grade: int * Class o School: one-to-one with School o Course: one-to-one with Course o Teacher: one-to-one with Teacher o Students: one-to-many with Student * School o ID: char or int o Name: char o Location: one-to-one with location * Tasks o ID: auto increment o Type: multiple choice (assignment, test, etc.) o DateAssigned: date o DateCompleted: date o Score: real o Weight: real o Class: one-to-one with class o Student: one-to-one with Student * Discipline o ID: auto-increment o Discription: text-field o Reaction: text-field o Students: one-to-many with Student * PaymentSchedule o ID: auto-increment o YearlyCost: real o PaymentSchedule: multiple choice o ScholarshipType: multiple choice, None if N/A o ScholarshipAmount: real, 0 if N/A o Transactions: one-to-many with Payments * Payments o auto-increment o Amount: real o Date: date </code></pre> <p>If you have ideas on how this could be improved upon, I'd love to year them!</p> <h1>Update</h1> <p>I've written the initial models.py code, which is probably in need of much love. If you would like to take a look, or even join the project, check out the link.<br> <a href="http://bazaar.launchpad.net/~djangoschools/djangoschools/trunk/files" rel="nofollow noreferrer"><a href="http://bazaar.launchpad.net/~djangoschools/djangoschools/trunk/files" rel="nofollow noreferrer">http://bazaar.launchpad.net/~djangoschools/djangoschools/trunk/files</a></a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload