Skip to content

Commit 8f11273

Browse files
authored
Implement CarMake and CarModel models
1 parent 5bf3ab4 commit 8f11273

File tree

1 file changed

+21
-25
lines changed

1 file changed

+21
-25
lines changed

server/djangoapp/models.py

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
1-
# Uncomment the following imports before adding the Model code
2-
31
from django.db import models
4-
from django.utils.timezone import now
52
from django.core.validators import MaxValueValidator, MinValueValidator
63

74

85
# Create your models here.
96

10-
# <HINT> Create a Car Make model `class CarMake(models.Model)`:
11-
# - Name
12-
# - Description
13-
# - Any other fields you would like to include in car make model
14-
# - __str__ method to print a car make object
7+
# Car Make model
158
class CarMake(models.Model):
169
name = models.CharField(max_length=100)
1710
description = models.TextField()
@@ -21,32 +14,35 @@ def __str__(self):
2114
return self.name
2215

2316

24-
# <HINT> Create a Car Model model `class CarModel(models.Model):`:
25-
# - Many-To-One relationship to Car Make model (One Car Make has many
26-
# Car Models, using ForeignKey field)
27-
# - Name
28-
# - Type (CharField with a choices argument to provide limited choices
29-
# such as Sedan, SUV, WAGON, etc.)
30-
# - Year (IntegerField) with min value 2015 and max value 2023
31-
# - Any other fields you would like to include in car model
32-
# - __str__ method to print a car make object
33-
17+
# Car Model model
3418
class CarModel(models.Model):
35-
car_make = models.ForeignKey(CarMake, on_delete=models.CASCADE) # Many-to-One relationship
19+
# Many-to-One relationship (one CarMake has many CarModels)
20+
car_make = models.ForeignKey(
21+
CarMake,
22+
on_delete=models.CASCADE,
23+
)
3624
name = models.CharField(max_length=100)
25+
3726
CAR_TYPES = [
3827
('SEDAN', 'Sedan'),
3928
('SUV', 'SUV'),
4029
('WAGON', 'Wagon'),
4130
# Add more choices as required
4231
]
43-
type = models.CharField(max_length=10, choices=CAR_TYPES, default='SUV')
44-
year = models.IntegerField(default=2023,
32+
33+
type = models.CharField(
34+
max_length=10,
35+
choices=CAR_TYPES,
36+
default='SUV',
37+
)
38+
39+
year = models.IntegerField(
40+
default=2023,
4541
validators=[
4642
MaxValueValidator(2023),
47-
MinValueValidator(2015)
48-
])
49-
# Other fields as needed
43+
MinValueValidator(2015),
44+
],
45+
)
5046

5147
def __str__(self):
52-
return self.name # Return the name as the string representation
48+
return self.name

0 commit comments

Comments
 (0)