#models.py
from django.core.validators import MaxValueValidator, validate_image_file_extension #validators=[validate_image_file_extension]이미지형식이 아닐때 막아줌

class Review(models.Model):
    content = models.TextField('내용', max_length=500)
    review_image_one = models.ImageField('이미지 1', upload_to='review_pics', blank=True, validators=[validate_image_file_extension])#validators=[validate_image_file_extension]이미지형식이 아닐때 막아줌 ex) 음성파일
    review_image_two = models.ImageField('이미지 2', upload_to='review_pics', blank=True, validators=[validate_image_file_extension])
    review_image_three = models.ImageField('이미지 3', upload_to='review_pics', blank=True, validators=[validate_image_file_extension])
    created_at = models.DateTimeField('후기 생성 시간', auto_now_add=True)
    updated_at = models.DateTimeField('후기 수정 시간', auto_now=True)
    rating_cnt = models.PositiveIntegerField('별점', validators=[MaxValueValidator(5)]) #PositiveIntegerField사용으로 음수가 없는 IntegerField설정, 최대 5점까지 줄 수 있게 해줌
    
    review_like = models.ManyToManyField(User, verbose_name='후기 좋아요', related_name="like_review", blank=True)

    author = models.ForeignKey(User, verbose_name='작성자', on_delete=models.CASCADE)
    place = models.ForeignKey(Place, verbose_name='장소', on_delete=models.CASCADE, related_name="place_review")#장소 id를 사용하기 위해서 가져옴

    class Meta:
        db_table = 'review'

    def __str__(self):
        return f'[작성자]{self.author}, [내용]{self.content}'