from django.contrib import admin
from .models import Fcuser
# Register your models here.
class FcuserAdmin(admin.ModelAdmin):
# list_display는 튜플 형식으로서 전달하기 때문에 마지막에 꼭 ,를 붙여줘야 한다
list_display = ('email',)
admin.site.register(Fcuser, FcuserAdmin)
from django.contrib import admin
from .models import Order
# Register your models here.
class OrderAdmin(admin.ModelAdmin):
list_display = ('fcuser', 'product',)
admin.site.register(Order, OrderAdmin)
from django.contrib import admin
from .models import Product
# Register your models here.
class ProductAdmin(admin.ModelAdmin):
list_display = ('name', 'price',)
admin.site.register(Product, ProductAdmin)
python manage.py createsuperuser
Username (leave blank to use 'user'): username
Email address: useremail
Password: pass
Password (again): pass
This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
python manage.py runserver
from django.db import models
# Create your models here.
class Product(models.Model):
name = models.CharField(max_length=256, verbose_name='상품명')
price = models.IntegerField(verbose_name='상품가격')
# TextField는 text 제한이 ㅇ벗다
description = models.TextField(verbose_name='상품설명')
stock = models.IntegerField(verbose_name='재고')
register_date = models.DateTimeField(
auto_now_add=True, verbose_name='등록날짜')
def __str__(self):
return self.name
class Meta:
db_table = 'fastcampus_product'
verbose_name = '상품'
verbose_name_plural = '상품'
from django.db import models
# Create your models here.
class Fcuser(models.Model):
email = models.EmailField(verbose_name='이메일')
password = models.CharField(max_length=64, verbose_name='비밀번호')
register_date = models.DateTimeField(
auto_now_add=True, verbose_name='등록날짜')
def __str__(self):
return self.email
class Meta:
db_table = 'fastcampus_fcuser'
verbose_name = '사용자'
verbose_name_plural = '사용자'
from django.db import models
# Create your models here.
class Order(models.Model):
# 어떤 사용자가 어떤 제품을 주문하기에 외래키인 ForeignKey가 필요
# fcuser안에 있는 Fcuser라는 클래스를 불러온다!
# ForeignKey를 사용할 때는 on_delete를 꼭 설정해줘야 한다(사용자가 삭제되었을 때 주문 데이터는 어떻게 처리할지)
# on_delete=models.CASCADE로 설정하게 되면 사용자가 삭제되면 주문 데이터도 같이 삭제된다
fcuser = models.ForeignKey(
'fcuser.Fcuser', on_delete=models.CASCADE, verbose_name='사용자')
product = models.ForeignKey(
'product.Product', on_delete=models.CASCADE, verbose_name='상품')
quantity = models.IntegerField(verbose_name='수량')
register_date = models.DateTimeField(
auto_now_add=True, verbose_name='등록날자')
def __str__(self):
return str(self.fcuser) + ' ' + str(self.product)
class Meta:
db_table = 'fastcampus_order'
verbose_name = '주문'
verbose_name_plural = '주문'