You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.1 KiB
24 lines
1.1 KiB
from django.db import models
|
|
from django.core.validators import MaxValueValidator, MinValueValidator
|
|
|
|
class Review(models.Model):
|
|
is_secured = models.BooleanField(default=False)
|
|
project = models.ForeignKey('projects.Project', related_name='reviews')
|
|
stars = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)])
|
|
text = models.TextField()
|
|
target_customer = models.ForeignKey('users.User', related_name='reviews_by_contractor', null=True, blank=True)
|
|
target_contractor = models.ForeignKey('users.User', related_name='reviews_by_customer', null=True, blank=True)
|
|
from_customer = models.ForeignKey('users.User', related_name='contractor_reviews', null=True, blank=True)
|
|
from_contractor = models.ForeignKey('users.User', related_name='customer_reviews', null=True, blank=True)
|
|
|
|
def __str__(self):
|
|
return str(self.pk)
|
|
|
|
class Meta:
|
|
verbose_name = 'Отзыв'
|
|
verbose_name_plural = 'Отзывы'
|
|
|
|
unique_together = (
|
|
('from_customer', 'target_contractor', 'project'),
|
|
('from_contractor', 'target_customer', 'project'),
|
|
)
|
|
|