This commit is contained in:
2023-09-24 17:16:25 -04:00
commit 91d67e7aeb
130 changed files with 10480 additions and 0 deletions

View File

@ -0,0 +1,33 @@
Employees and Departments
=========================
#### Database Creation - One to Many Relationship
Using the Django ORM, create tables with these values and relationships:
An employee has a name and a birthdate.
An employee belongs to a department.
A department has a name and a budget.
A department has many employees.
Don't forget to makemigrations and migrate your db.
#### Build it out
Now we've got some additional requirements.
An employee can be a manager.
A manager has a team of employees.
Employees can belong to multiple teams.
An employee can be in multiple departments.
After you make each change, makemigrations and migrate again to test it. What happens? What do the migration files look like inside?
Continue to sandbox and see how your relationships work. If you are having trouble seeing the relationships, think about adding a `__str__` method to each of your tables, so that you get easier to read feedback.
Resources
---------
[Django's ORM Docs](https://docs.djangoproject.com/en/dev/topics/db/models/)
[Many to many example](https://docs.djangoproject.com/en/dev/topics/db/examples/many_to_many/)

View File

@ -0,0 +1,3 @@
from django.contrib import admin
# Register your models here.

View File

@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

View File

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

View File

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

View File

@ -0,0 +1,83 @@
"""
Django settings for departments project.
For more information on this file, see
https://docs.djangoproject.com/en/1.7/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.7/ref/settings/
"""
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '(%zg=9c2rm11!af7g&95z#99*_rwf4cj_%&r8a#)r6yxneo(wn'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'departments.urls'
WSGI_APPLICATION = 'departments.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.7/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.7/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/
STATIC_URL = '/static/'

View File

@ -0,0 +1,10 @@
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'departments.views.home', name='home'),
# url(r'^blog/', include('blog.urls')),
url(r'^admin/', include(admin.site.urls)),
)

View File

@ -0,0 +1,14 @@
"""
WSGI config for departments project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/
"""
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "departments.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

View File

@ -0,0 +1,10 @@
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "departments.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)