Advertisement
pacho_the_python

Untitled

Jun 23rd, 2024
617
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.30 KB | None | 0 0
  1. from datetime import date
  2. from django.db import models
  3.  
  4.  
  5. class Employee(models.Model):
  6.     NAME_MAX_LEN = 30
  7.  
  8.     name = models.CharField(
  9.         max_length=NAME_MAX_LEN
  10.     )
  11.  
  12.     email_address = models.EmailField()
  13.  
  14.     photo = models.URLField()
  15.  
  16.     birth_date = models.DateField()
  17.  
  18.     works_full_time = models.BooleanField()
  19.  
  20.     created_on = models.DateTimeField(auto_now_add=True)
  21.  
  22.  
  23. class Department(models.Model):
  24.     CODE_MAX_LEN = 4
  25.     NAME_MAX_LEN = 50
  26.     LOCATION_MAX_LEN = 50
  27.     LOCATION_CHOICES = (
  28.         ("Sofia", "Sofia"),
  29.         ("Plovdiv", "Plovdiv"),
  30.         ("Burgas", "Burgas"),
  31.         ("Varna", "Varna")
  32.     )
  33.  
  34.     code = models.CharField(
  35.         max_length=CODE_MAX_LEN,
  36.         primary_key=True,
  37.         unique=True,
  38.  
  39.     )
  40.  
  41.     name = models.CharField(
  42.         max_length=NAME_MAX_LEN,
  43.         unique=True,
  44.         null=False,
  45.         blank=False
  46.     )
  47.  
  48.     employees_count = models.PositiveIntegerField(
  49.         verbose_name='Employees Count',
  50.         default=1,
  51.         null=False,
  52.         blank=False
  53.     )
  54.  
  55.     location = models.CharField(
  56.         max_length=LOCATION_MAX_LEN,
  57.         choices=LOCATION_CHOICES
  58.     )
  59.  
  60.     last_edited_on = models.DateTimeField(
  61.         auto_now=True,
  62.         editable=False
  63.     )
  64.  
  65.  
  66. class Project(models.Model):
  67.     NAME_MAX_LEN = 100
  68.  
  69.     name = models.CharField(
  70.         max_length=NAME_MAX_LEN,
  71.         unique=True,
  72.         null=False,
  73.         blank=False
  74.     )
  75.  
  76.     description = models.TextField(
  77.         null=True,
  78.         blank=True
  79.     )
  80.  
  81.     budget = models.DecimalField(
  82.         max_digits=10,
  83.         decimal_places=2,
  84.         null=True,
  85.         blank=True
  86.     )
  87.  
  88.     duration_in_days = models.PositiveIntegerField(
  89.         verbose_name='Duration in Days',
  90.         null=True,
  91.         blank=True
  92.     )
  93.  
  94.     estimated_hours = models.FloatField(
  95.         verbose_name='Estimated Hours',
  96.         null=True,
  97.         blank=True
  98.     )
  99.  
  100.     start_date = models.DateField(
  101.         verbose_name='Start Date',
  102.         default=date.today(),
  103.         null=True,
  104.         blank=True
  105.     )
  106.  
  107.     created_on = models.DateTimeField(
  108.         auto_now_add=True,
  109.         editable=False
  110.     )
  111.  
  112.     last_edited_on = models.DateTimeField(
  113.         editable=False,
  114.         auto_now=True,
  115.  
  116.     )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement