Django

wecode_CRUD_1 과제

codermun 2020. 11. 28. 17:56
728x90
반응형

models.py

 

from django.db import models

class Menu(models.Model):
    name = models.CharField(max_length=45)

    class Meta:
        db_table = 'menus'

class Category(models.Model):
    menu = models.ForeignKey('Menu', on_delete=models.CASCADE)
    name = models.CharField(max_length=45)

    class Meta:
        db_table = 'categories'

class Drink (models.Model):
    korean_name = models.CharField(max_length=45)
    english_name = models.CharField(max_length=45)
    description = models.TextField(max_length=300)
    category = models.ForeignKey('Category', on_delete=models.CASCADE)

    class Meta:
        db_table = 'drinks'

class Image (models.Model):
    image_url = models.CharField(max_length=2000)
    drink = models.ForeignKey('Drink', on_delete=models.CASCADE)

    class Meta:
        db_table = 'images'

class Allergy(models.Model):
    allergy_name = models.CharField(max_length=45)
    name = models.ManyToManyField('Drink', through="Allergy_drink")

    class Meta:
        db_table = 'allergys'

class Allergy_drink(models.Model):
    allergy = models.ForeignKey('Allergy', on_delete=models.CASCADE)
    drink = models.ForeignKey('Drink', on_delete=models.CASCADE)

    class Meta:
        db_table = 'allergy_drinks'

class Nutrition(models.Model):
    kcal = models.DecimalField(max_digits = 10, decimal_places = 2, null=True)
    sodium = models.DecimalField(max_digits = 10, decimal_places = 2, null=True)
    fat = models.DecimalField(max_digits = 10, decimal_places = 2, null=True)
    sugar = models.DecimalField(max_digits = 10, decimal_places = 2, null=True)
    protein = models.DecimalField(max_digits = 10, decimal_places = 2, null=True)
    caffeine = models.DecimalField(max_digits = 10, decimal_places = 2, null=True)
    dirnk_nu = models.ForeignKey('Drink', on_delete=models.CASCADE)

    class Meta:
        db_table = 'nutritions'

class Size(models.Model):
    size_name = models.CharField(max_length=45)
    size_ml = models.CharField(max_length=45)
    size_ounce = models.CharField(max_length=45)
    nutrition = models.ForeignKey('Nutrition', on_delete=models.CASCADE)


    class Meta:
        db_table = 'sizes'
# Create your models here.

 

Menu, Category, Drink, Image, Allergy, Allergy_drink(중간 테이블) 순 입니다.

728x90
반응형