Files
Projet13/oc_lettings_site/models.py
2020-07-29 08:15:11 +01:00

32 lines
1.1 KiB
Python

from django.db import models
from django.core.validators import MaxValueValidator, MinLengthValidator
from django.contrib.auth.models import User
class Address(models.Model):
number = models.PositiveIntegerField(validators=[MaxValueValidator(9999)])
street = models.CharField(max_length=64)
city = models.CharField(max_length=64)
state = models.CharField(max_length=2, validators=[MinLengthValidator(2)])
zip_code = models.PositiveIntegerField(validators=[MaxValueValidator(99999)])
country_iso_code = models.CharField(max_length=3, validators=[MinLengthValidator(3)])
def __str__(self):
return f'{self.number} {self.street}'
class Letting(models.Model):
title = models.CharField(max_length=256)
address = models.OneToOneField(Address, on_delete=models.CASCADE)
def __str__(self):
return self.title
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
favorite_city = models.CharField(max_length=64, blank=True)
def __str__(self):
return self.user.username