1. 데이터 베이스 프레임 생성 (models.py)
cd demo
vi models.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
from django.db.models import *
# Create your models here.
class Product(Model):
# primary_key : only one value in this class
pid = BigIntegerField(primary_key=True)
# db_index : group value for searching faster
cat1id = BigIntegerField(db_index=True)
cat2id = BigIntegerField(db_index=True)
cat3id = BigIntegerField(db_index=True)
pname = TextField(default='-')
status = TextField(default='none')
def set_status(self, value):
self.status = value
self.save()
2. 새로운 모델의 migrations 생성 및 적용
cd ..
python manage.py makemigrations demo
python manage.py migrate demo
3. 데이터 베이스 생성
vi test.db
12345 001 002 003 Poorman T-shirts
12346 001 002 004 Poorman Boots
12347 001 003 003 Poorman Cap
12348 002 003 004 Poorman Watch
vi make_db.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import os, sys, django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")
django.setup()
from catetc.models import *
class ModelObjects():
def __init__(self, model):
self.model = model
def create(self, line):
line = line.strip()
words = line.split('\t')
pid = words[0]
cat1id = words[1]
cat2id = words[2]
cat3id = words[3]
pname = words[4]
self.model.objects.create(pid=pid, cat1id=cat1id, cat2id=cat2id, cat3id=cat3id, pname=pname)
def delete(self):
self.model.objects.all().delete()
def main():
db = ModelObjects(Product)
db.delete()
for line in sys.stdin:
line = line.strip()
if not line: continue
db.create(line)
# main
if __name__ == '__main__':
main()
cat test.db | python make_db.py
5. admin (관리자) 모드에서 볼 수 있게 admin 등록
vi demo/admin.py
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.contrib import admin
from .models import *
# Register your models here.
admin.site.register(Product)
6. admin 홈페이지에서 데이터 베이스 확인
http://~:8080/admin
'Programming > Django' 카테고리의 다른 글
[Django Web Frame] 장고 프로젝트 웹 프레임 활용 (0) | 2018.07.11 |
---|---|
[Django Web Frame] 장고 프로젝트 웹 프레임 나누기 (0) | 2018.07.11 |
[Django] 장고 프로젝트 데이터 베이스 활용 (models.py, views.py) (0) | 2018.07.11 |
[Django] 장고 프로젝트 기본 홈페이지 만들기 (urls.py, views.py) (0) | 2018.07.10 |
[Django] 장고 프로젝트 생성하기 (0) | 2018.07.10 |