728x90
django 에서 ManyToMany 필드를 사용 할 때
through 를 사용하여 중간 테이블을 지정하여 사용 할 수 있다.
Django ManyToManyField에 필드 확장하기
class Products(models.Model): # 상품정보
brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
products_name = models.CharField('상품명', max_length=50)
original_price = models.IntegerField('정상가')
discount_price = models.IntegerField('할인가')
discount_rate = models.DecimalField('할인율', max_digits=3, decimal_places=2)
review_count = models.IntegerField('리뷰')
category = models.ManyToManyField("Category", blank=True, through="ProductCategoryRelation")
class Category(models.Model): # 카테고리
main_category_name = models.CharField('메인 카테고리명', max_length=50)
main_category_number = models.IntegerField('메인 카테고리 번호')
sub_category_name = models.CharField('서브 카테고리명', max_length=50)
sub_category_number = models.IntegerField('서브 카테고리 번호')
class ProductCategoryRelation(models.Model): # 상품정보 <-- 중간 관계테이블 --> 카테고리
products = models.ForeignKey(Products, on_delete=models.CASCADE)
category = models.ForeignKey(Category, on_delete=models.CASCADE)
위 코드 에서 상품정보랑 카테고리를 중간 관계 테이블로 엮어 줄 때 ManyToMany 필드 속성으로 through를 지정하여 사용 한다.
728x90
반응형
'Sparta Coding Club > Today I Learned [TIL]' 카테고리의 다른 글
[TIL] #DAY - 065 - 날짜를 구하기 (Python, datetime) (0) | 2022.12.08 |
---|---|
[TIL] #DAY - 064 - 쿼리셋 공부(1) (QuerySet) (0) | 2022.12.05 |
[TIL] #DAY - 062 - HTML, CSS 기본 정리 (Front End) (1) | 2022.12.01 |
[TIL] #DAY - 061 - CSS 정리 하는법 (Front End) (0) | 2022.12.01 |