int main()/django

[ django ] model의 "class Meta" 속성

여행의책 2023. 7. 27. 18:55
반응형

모델 클래스 내에는 메타 클래스가 있다.

속성으로는 verbose_name, verbose_name_plural, ordering 세가지가 있다.

이 세가지는 외부에 표시되는것이 아니라 django의 관리자 페이지에서 보여지는 것이다.

verbose_name 는 독립적인 이름으로 사용될때 표시할 이름이며, verbose_name_plural 는 복수로 사용될때 표시할 이름이다.

verbose_name_plural를 설정하지 않으면 이름 마지막에 's'를 붙인다.

ordering은 관리자 페이지에서 보여지는 순서를 지정한다.

 

아리는 Bookmark와 Notes를 Model에서 정의했다.

class Bookmark(models.Model):
    title = models.CharField(max_length=100, blank=True, null=True)
    url = models.URLField('url', unique=True)

    class Meta:
        verbose_name = '북마크'
        verbose_name_plural = '북마크 모음'
        ordering = ['title', ]
        
class Notes(models.Model):
    title = models.CharField(max_length=100, blank=True, null=True)
    url = models.URLField('url', unique=True)

    class Meta:
        verbose_name = '노트'
        ordering = ['title', ]

위 내용을 적용하였을때 admin페이지에서 보여지는 모습이 아래 그림이다.

개인 적인 생각은 class Meta 는 딱히 작성 안해도 상관 없을것 같다.