
ERD사이트
from django.db import models
class User(models.Model):
username = models.CharField(max_length=45)
email = models.EmailField(max_length=250, unique=True)
password = models.CharField(max_length=200)
phone_number = models.CharField(max_length=45)
address = models.CharField(max_length=300)
point = models.IntegerField()
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
db_table = 'users'
from django.db import models
class Purchase(models.Model):
name = models.CharField(max_length=45)
class Meta:
db_table = 'purchases'
class MainCategory(models.Model):
name = models.URLField(max_length=45)
purchase = models.ForeignKey('Purchase', on_delete=models.CASCADE)
class Meta:
db_table = 'main_categories'
class SubCategory(models.Model):
name = models.URLField(max_length=45)
main_category = models.ForeignKey('MainCategory', on_delete=models.CASCADE)
class Meta:
db_table = 'sub_categories'
class Product(models.Model):
name = models.CharField(max_length=50)
price = models.DecimalField(decimal_places=2, max_digits=8)
description = models.TextField()
thumbnail = models.URLField(max_length=1000)
sub_category = models.ForeignKey('SubCategory', on_delete=models.CASCADE)
options = models.ManyToManyField('Option', through='ProductOption')
class Meta:
db_table = 'products'
class ProductImage(models.Model):
image_url = models.URLField(max_length=1000)
product = models.ForeignKey('Product', on_delete=models.CASCADE)
class Meta:
db_table = 'product_images'
class Option(models.Model):
name = models.CharField(max_length=50)
price = models.DecimalField(decimal_places=2, max_digits=8)
class Meta:
db_table = 'options'
class ProductOption(models.Model):
product = models.ForeignKey('Product', on_delete=models.CASCADE)
option = models.ForeignKey('Option', on_delete=models.CASCADE)
class Meta:
db_table = 'product_options'
from django.db import models
class Cart(models.Model):
quantity = models.IntegerField()
user = models.ForeignKey('users.User', on_delete=models.CASCADE)
product = models.ForeignKey('products.Product', on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
db_table = 'carts'
class CartOption(models.Model):
option = models.ForeignKey('products.Option', on_delete=models.CASCADE)
cart = models.ForeignKey('carts.Cart', on_delete=models.CASCADE)
class Meta:
db_table = 'cart_options'
from django.db import models
class Order(models.Model):
order_number = models.UUIDField()
address = models.CharField(max_length=200)
user = models.ForeignKey('users.User', on_delete=models.CASCADE)
order_status = models.ForeignKey('OrderStatus', on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
class Meta:
db_table = 'orders'
class OrderItem(models.Model):
quantity = models.IntegerField()
product = models.ForeignKey('products.Product', on_delete=models.CASCADE)
order = models.ForeignKey('Order', on_delete=models.CASCADE)
class Meta:
db_table = 'order_items'
class OrderOption(models.Model):
option = models.ForeignKey('products.Option', on_delete=models.CASCADE)
order_item = models.ForeignKey('OrderItem', on_delete=models.CASCADE)
class Meta:
db_table = 'order_options'
class OrderStatus(models.Model):
status = models.CharField(max_length=45)
class Meta:
db_table = 'order_statuses'