Django admin 에서 model 객체 출력을 좀 더 자세히

Django admin에 어렵게 model을 등록해 두었는데, 관리자가 들어가서 자료를 볼때 object(id) 이런식으로 나오니깐 클릭해서 들어가기 전에 이 객체의 정보의 힌트를 볼 수 없어 답답했다. 이를 해결해 보자

 

아래 그림을 보자.

Django admin 에서 보이는 model 리스트

Company Object(id) 이렇게 나오니, 

실제 어떤 값이 들어 있는지는 클릭해서 들어가서 자세한 필드 내용을 봐야 안다.

 

여기 리스트에서 그냥 대충이라도 보고 싶은 욕구가~~~

 

아주 쉽게 해결이 되었다. models.py에 선언하면서

__str__(self) 함수를 등록해 두면 되는 것이다.

class Company(TimeStampedModel):
    name = models.CharField(max_length=255)
    is_deleted = models.IntegerField( default=0 )

    def __str__(self):
        return f'회사이름: {self.name}'

 

코드에서는 이 객체에 할당된 회사 이름을 대신 리턴하게 해 두었다. 이렇게 해 두고 다시 보면

 

 

__str__ 함수의 위력

리스트에 딱 나타나니, 좋으네