Python Django

Python Django 14 - Python ORM(DB)

코딩탕탕 2022. 10. 23. 14:46

 

table을 작성했을 경우에는 Make Migrations를 눌러주어야 된다.

table을 안 만들 경우에는 안 눌러도 된다. table은 models.py에 만든다.

 

 

models.py

from django.db import models

# Create your models here.
# Database Table을 class로 선언

class Article(models.Model):
    code = models.CharField(max_length = 10)
    name = models.CharField(max_length = 20)
    price = models.IntegerField()
    pub_date = models.DateField()

 

Make Migrations를 누르고 app 이름을 입력하면 migrations 폴더 안에 만들어진다.

# Generated by Django 4.1.2 on 2022-10-17 07:05

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = []

    operations = [
        migrations.CreateModel(
            name="Article",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("code", models.CharField(max_length=10)),
                ("name", models.CharField(max_length=20)),
                ("price", models.IntegerField()),
                ("pub_date", models.DateField()),
            ],
        ),
    ]

칼럼에 primary key를 만들지 않는다면 id 칼럼으로 primary key가 들어있는 상태로 만들어진다.

 

테이블의 insert, delete 등의 명령어는 admin(관리자)에서 관리할 수 있다.

url에 /admin/을 검색하면 관리자 창이 나온다.

 

 

아이디 패스워드가 필요한데 그것은 cmd 창에서 만든다.

 

 

로그인 된다. 하지만 admin 창에서는 만든 table이 보이지 않는다. 그것의 설정을 다시 해주어야 된다.

 

 

admin.py에서 위와 같이 설정을 해 준 뒤, 다시 admin창을 보면 table이 보인다.

 

 

이곳에서 insert, delete, update를 할 수 있다.

 

 

 

select, insert, delete, update 명령문은 이곳 참고

 

Django ORM으로 SELECT 연습

ORM(Object Relational Mapping) 관계형 데이터베이스를 사용할 격우에는 데이터베이스의 데이터를 조회하거나 저장하기 위해 SQL을 사용해야 했다. 그런데 개발자마다 비슷한데 약간 다른? 다양한 쿼

cafe.daum.net