villafleurie/rental/models.py
Ruidy Nemausat cf9fb67232 date picker
2019-11-11 13:26:15 +01:00

71 lines
2.2 KiB
Python

from django.db import models
from phonenumber_field.modelfields import PhoneNumberField
class Image(models.Model):
def __str__(self):
return self.alt
img=models.ImageField(upload_to='img/', null=True,blank=True)
alt=models.CharField(max_length=100)
class Place(models.Model):
class Meta:
verbose_name = "Appartement"
def __str__(self):
return self.name
name=models.CharField(max_length=10, unique=True)
description=models.TextField(blank=True)
info=models.TextField(blank=True)
subname=models.CharField(max_length=100, blank=True)
tagline=models.CharField(max_length=100, blank=True)
price=models.DecimalField(max_digits=6, decimal_places=2, null=True)
surface=models.IntegerField(null=True,blank=True)
beds=models.IntegerField(null=True,blank=True)
max_occupation=models.IntegerField(null=True,blank=True)
thumbnail=models.ForeignKey(Image, on_delete=models.CASCADE, blank=True, null=True)
images=models.ManyToManyField(Image, related_name = "places", blank=True)
class Guest(models.Model):
class Meta:
verbose_name = "Voyageur"
def __str__(self):
return self.name
name=models.CharField(max_length=100)
email=models.EmailField(unique=True)
phone=PhoneNumberField(blank=True)
class Reservation(models.Model):
class Meta:
verbose_name = 'Réservation'
def __str__(self):
return "Réservation du {} par {}".format(self.place, self.guest)
place=models.ForeignKey(Place,on_delete=models.CASCADE)
guest=models.ForeignKey(Guest,on_delete=models.CASCADE)
message=models.TextField(blank=True)
start=models.DateField()
end=models.DateField()
class Testimonial(models.Model):
class Meta:
verbose_name="Témoignage"
def __str__(self):
return self.author
author=models.CharField(max_length=100)
text=models.TextField()
picture=models.ImageField(upload_to='img/',null=True,blank=True)
link=models.URLField(null=True,blank=True)
guest=models.OneToOneField(Guest,on_delete=models.CASCADE,blank=True,null=True)
reservation=models.OneToOneField(Reservation,on_delete=models.CASCADE,blank=True,null=True)