질문이 있으십니까?

기본 컨텐츠 및 사용자가 직접 참여하여 만들어진 다양한 내용을 검색합니다.

ORM이란?

여러 형태의 데이타를?

# sqlite에서 아래와 같은 테이블에 있는 데이를 가져와 본다고 가정하자.
CREATE TABLE articles (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT NOT NULL,
    content TEXT NOT NULL,
    created_at TEXT NOT NULL,
    author TEXT NOT NULL
);

# 리스트에 저장된 데이타를 갖어온다고 가정하자.
articles1 = [
    [1,'제목입니다','내용입니다','신동찬','2019-02-07']
    [2,'제목입니다','내용입니다','신동찬','2019-02-07']
]

# 딕셔너리라면 ?
articles2 = [
    {'id':1,"title":"제목입니다","content":"내용입니다","author":신동찬,"created_at":'2019-02-07'}
    {'id':2,"title":"제목입니다","content":"내용입니다","author":신동찬,"created_at":'2019-02-07'}
]

오브젝트로 표현할 수 있다면?

# 위와 같은 정보를 아래와 같은 오브젝트로 표현할 수 있을 것이다.
# 오브젝트라면?
class Article:
    def __init__(self,id,title,content,author,created_at):
        self.id=id
        self.title=title
        self.content=content
        self.author=author
        self.created_at=created_at
        
a1 = Article(1,'제목입니다','내용입니다','신동찬','2019-02-07')
a2 = Article(2,'제목입니다','내용입니다','신동찬','2019-02-07')

articles3 = [
    a1,a2    
]

# 위와 같이 오브젝트(클래스)를 이용하면 압도적인 장점이 있다.
# 더불어, 아래와 같이 메소드를 수행하게 할 수 있다.
class Article:
    def delete(self):
        del(self)

# 이런 식으로 delete 메소드를 만들게 되면, db connect의 힘을 빌리지 않고도 데이터를 삭제할 수 있다.

댓글을 작성하세요

문서 이력

  • 2020-08-15 날짜로 관리자 님으로 부터 컨텐츠명이 변경 되었습니다.