TIL#34-2 Django-DBスターバックス
🐶 中に入ると
スタバに応用しましょう!!
ただし、CharField(image url)に画像を適用する
注意:tool(画像を入れて入れるかどうかをチェック!)
models.pyの作成 class Menu(models.Model):
name = models.CharField(max_length=10)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'Menu'
class Categories(models.Model):
Menu = models.ForeignKey('Menu', on_delete=models.CASCADE)
name = models.CharField(max_length=50)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'Categories'
class Product(models.Model):
name = models.CharField(max_length=50)
name_en = models.CharField(max_length=50, null=True)
description = models.CharField(max_length=1000)
# price = models.CharField(max_length=1000, null=True)
# MENU = models.ForeignKey('Menu', on_delete = models.SET_NULL, null=True)
category = models.ForeignKey('Categories', on_delete = models.SET_NULL, null=True)
# allergy_drink = models.ManyToManyField('Allergy', through='AllergyDrink')
description = models.CharField(max_length=100, null=True)
is_new = models.BooleanField(default=False)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'products'
class Nutrition(models.Model):
product = models.OneToOneField('Product', on_delete=models.CASCADE, null=True)
one_serving_kca = models.DecimalField(max_digits=6, decimal_places=2, null=True)
sodium_mg = models.DecimalField(max_digits=6, decimal_places=2, null=True)
saturated_fat_g = models.DecimalField(max_digits=6, decimal_places=2, null=True)
sugars_g = models.DecimalField(max_digits=6, decimal_places=2, null=True)
protein_g = models.DecimalField(max_digits=6, decimal_places=2, null=True)
caffeine_mg = models.DecimalField(max_digits=6, decimal_places=2, null=True)
size_ml = models.CharField(max_length=10, null=True)
size_fluid_ounce = models.CharField(max_length=10, null=True)
class Meta:
db_table = 'nutritions'
class Allergy(models.Model):
name = models.CharField(max_length=10, null=True)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'allergy'
class AllergyDrink(models.Model):
allergy = models.ForeignKey('Allergy', on_delete=models.CASCADE, null=True)
product = models.ForeignKey('Product', on_delete=models.CASCADE, null=True)
class Meta:
db_table = 'allergy_drink'
class Images(models.Model):
image_url = models.CharField(max_length=2000, null=True)
product = models.ForeignKey('Product', on_delete=models.CASCADE, null=True)
class Meta:
db_table = 'images'
1つ目を除いて、2つ目から追加されるのはnull=trueです.
テーブルの作成の決定
Django shell : create & update
完了!
^_____^
画像はホームページにアクセスしてurlを取得する必要があるので、後ですることにしました.
もっと作りやすい方法があれば、それを使ってやり直します...やってみよう...
Reference
この問題について(TIL#34-2 Django-DBスターバックス), 我々は、より多くの情報をここで見つけました
https://velog.io/@c_hyun403/Django-DB-연습-4-스타벅스
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
class Menu(models.Model):
name = models.CharField(max_length=10)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'Menu'
class Categories(models.Model):
Menu = models.ForeignKey('Menu', on_delete=models.CASCADE)
name = models.CharField(max_length=50)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'Categories'
class Product(models.Model):
name = models.CharField(max_length=50)
name_en = models.CharField(max_length=50, null=True)
description = models.CharField(max_length=1000)
# price = models.CharField(max_length=1000, null=True)
# MENU = models.ForeignKey('Menu', on_delete = models.SET_NULL, null=True)
category = models.ForeignKey('Categories', on_delete = models.SET_NULL, null=True)
# allergy_drink = models.ManyToManyField('Allergy', through='AllergyDrink')
description = models.CharField(max_length=100, null=True)
is_new = models.BooleanField(default=False)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'products'
class Nutrition(models.Model):
product = models.OneToOneField('Product', on_delete=models.CASCADE, null=True)
one_serving_kca = models.DecimalField(max_digits=6, decimal_places=2, null=True)
sodium_mg = models.DecimalField(max_digits=6, decimal_places=2, null=True)
saturated_fat_g = models.DecimalField(max_digits=6, decimal_places=2, null=True)
sugars_g = models.DecimalField(max_digits=6, decimal_places=2, null=True)
protein_g = models.DecimalField(max_digits=6, decimal_places=2, null=True)
caffeine_mg = models.DecimalField(max_digits=6, decimal_places=2, null=True)
size_ml = models.CharField(max_length=10, null=True)
size_fluid_ounce = models.CharField(max_length=10, null=True)
class Meta:
db_table = 'nutritions'
class Allergy(models.Model):
name = models.CharField(max_length=10, null=True)
def __str__(self):
return f'{self.name}'
class Meta:
db_table = 'allergy'
class AllergyDrink(models.Model):
allergy = models.ForeignKey('Allergy', on_delete=models.CASCADE, null=True)
product = models.ForeignKey('Product', on_delete=models.CASCADE, null=True)
class Meta:
db_table = 'allergy_drink'
class Images(models.Model):
image_url = models.CharField(max_length=2000, null=True)
product = models.ForeignKey('Product', on_delete=models.CASCADE, null=True)
class Meta:
db_table = 'images'
1つ目を除いて、2つ目から追加されるのはnull=trueです.テーブルの作成の決定
Django shell : create & update
完了!
^_____^
画像はホームページにアクセスしてurlを取得する必要があるので、後ですることにしました.
もっと作りやすい方法があれば、それを使ってやり直します...やってみよう...
Reference
この問題について(TIL#34-2 Django-DBスターバックス), 我々は、より多くの情報をここで見つけました
https://velog.io/@c_hyun403/Django-DB-연습-4-스타벅스
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
^_____^
画像はホームページにアクセスしてurlを取得する必要があるので、後ですることにしました.
もっと作りやすい方法があれば、それを使ってやり直します...やってみよう...
Reference
この問題について(TIL#34-2 Django-DBスターバックス), 我々は、より多くの情報をここで見つけました https://velog.io/@c_hyun403/Django-DB-연습-4-스타벅스テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol