
모델을 만든 직후 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조회 시 메서드 재정의 전, 후로 변화된 모습을 확인할 수 있다.


'Framework > DJANGO' 카테고리의 다른 글
| What does a . in an import statement in Python mean? (0) | 2021.08.01 |
|---|