본문 바로가기

개발/Django

(4)
[Django] Nested Serializer (2) : 역참조하고 있는 모델을 Serializer로 내려주기 역참조하는 Model 을 내려주는 방법 class BookAuthor(models.Model): class Meta: verbose_name = '작가' verbose_name_plural = verbose_name name = models.CharField( verbose_name='이름', ) real_name = models.CharField( verbose_name='실명', null=True, blank=True, ) introduction = models.TextField( verbose_name='소개', null=True, blank=True, ) class Book(models.Model): class Meta: verbose_name = '책' verbose_name_plural = v..
[Django] Nested Serializer (3): 다대다필드(ManyToManyField)를 Serializer로 내려주기 다대다 관계(ManyToMany)의 Model 을 내려주는 방법 class Book(models.Model): class Meta: verbose_name = '책' verbose_name_plural = verbose_name title = models.CharField( verbose_name='제목', max_length=32, ) price = models.PositiveIntegerField( verbose_name='가격', default=0, ) inventory_amount = models.PositiveIntegerField( verbose_name='재고 수량', default=0, ) author = models.ForeignKey( to='BookAuthor', on_delete=m..
[Django] Nested Serializer (1): 정참조하고 있는 모델을 Serializer로 내려주기 정참조하는 Model 을 내려주는 방법 class BookAuthor(models.Model): class Meta: verbose_name = '작가' verbose_name_plural = verbose_name name = models.CharField( verbose_name='이름', ) real_name = models.CharField( verbose_name='실명', null=True, blank=True, ) introduction = models.TextField( verbose_name='소개', null=True, blank=True, ) class Book(models.Model): class Meta: verbose_name = '책' verbose_name_plural = v..
서버 문제찾기부터 Django 최적화하는 방법까지 "내게 문제를 해결하는 데에 1시간을 주면 50분을 문제 정의에 쓰고 10분을 해결하는 데에 쓰겠다." - 아인슈타인 라이브 서버에서 문제가 발생하면 발생하는 이유와 지점을 명확히 정의할 필요가 있다. '일반적으로 이렇게 한다더라'라는 사고의 단점은 근본적인 문제가 사라지지 않을 뿐더러, 서버에서 정의한 제한값이나 aws 서비스들의 클래스(등의 사양들)를 올리자는 생각을 먼저 하게된다. 구체적인 문제 정의없이 이러한 사양들을 먼저 올려도 사용자는 계속 늘어나고 자연스럽게 활동도 사용자수 비례만큼 늘어나 동일한 문제가 발생할 것이다. 그래서 위의 아인슈타인이 했던 말을 생각하면서 문제 정의를 해보자. “푸시를 날리는 등 고객들이 몰리면 서버가 다운된다” 라이브 서비스를 운영한다면 충분히 겪을 수 있는 문제..