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

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

 

아래 그림을 보자.

etc-image-0
Django admin 에서 보이는 model 리스트

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

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

 

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

etc-image-1

 

아주 쉽게 해결이 되었다. 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}'

 

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

 

 

etc-image-2
__str__ 함수의 위력

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