..
What Is Doing Str Function In Django
문제
장고(Django) 강의를 수강하면서 모델 선언 시 __str__
함수를 작성하는 이유가 궁금해졌다.
__str__
함수는 객체를 print 할 경우에 반환할 문자열을 리턴하는 것으로 알고 있는데, 장고에서는 아래 코드와 같이 필드를 리턴해주고 있어 어떠한 이유로 작성하는지 궁금했다.
class Carbon(models.Model):
name = models.CharField(max_length=30)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
# code...
def __str__(self):
return self.name
해결
장고에서 모델 선언 시 __str__
함수를 작성하는 이유는 관리자 페이지에서 레코드 명을 설정하기 위해서이다.
__str__
함수를 작성하지 않으면 레코드 명이 아래와 같이 나타나 레코드를 구분하기가 어렵다. 🙅🏻
__str__
함수를 작성해 필드 값을 레코드 명을 설정해놓으면 레코드를 구분하기가 쉬워진다. 🙆🏻
참고
https://stackoverflow.com/questions/45483417/what-is-doing-str-function-in-django