본문 바로가기
Framework/DJANGO

Django DB

by brother_stone 2021. 8. 10.

모델을 만든 직후 object들을 추가한 상태이다. 각 object가 어떤 내용인지 알아보기 힘들다.

 

특히 이번 예시는 Menu-Ingredient 테이블이 N:M관계이며 메뉴에 어떤 재료가 들어가는 지 선택해줘야 하지만 초기 설정으로는 알아보기 쉽지 않다.

 

이러한 문제는 model의 class내 __str__(self)메서드를 재정의 해주는 것으로 해결 가능하다.

class Ingredient(models.Model):
    class Meta:
        db_table = "ingredient"

    def __str__(self):
        return self.name

    name = models.CharField(max_length=20, null=False)

필자는 object의 제목이 재료의 이름으로 표기되길 원하기 때문에 self.name을 리턴해주었다.

 

불편함이 해소되었다!

 

Django shell에서도 마찬가지로 object조회 시 메서드 재정의 전, 후로 변화된 모습을 확인할 수 있다.

__str__(self)메서드를 재정의 전

 

__str__(self)메서드를 재정의 후

'Framework > DJANGO' 카테고리의 다른 글

What does a . in an import statement in Python mean?  (0) 2021.08.01