Published on

Django url path 문제

문제

댓글을 구현하는 중 commenter field가 비어있는것을 보았다.

model정의할때 default가 null=fasle blank=false임에도 불구하고 비어있는것이다.

알아보니 django는 기본적으로 charfield와 textfield 의 null값은 “”(문자열 공백)으로 저장되어 null check가 되지 않은 것이다.

해결

아래 코드로

from django.db import models
from post.models import Post
from user.models import User

# Create your models here.

class Comment(models.Model):
   content = models.TextField("내용")

   def clean(self):
       from django.forms import ValidationError
       if self.content == "":
           raise ValidationError("Empty code not allowed")
    class Meta:
        db_table = "comment"
        verbose_name = "댓글 테이블"

위 코드같이 clean을 정의하여 validation을 할 수 있다.

validation을 해야할지 말지 고민해 보아야겠다.