ORM๐น: ์ฅ๊ณ Abstract Models
# ./products/models.py
from django.db import models
class AbstractCar(models.Model):
manufacturer = models.ForeignKey('Manufacturer', on_delete=models.CASCADE)
class Meta:
abstract = True
๋ฉํ ํด๋์ค์ "abstract = True"์ด๋ฉด migrateํ๋๋ผ๋
DB์ ๋ฌผ๋ฆฌํ
์ด๋ธ์ด ์๊ธฐ์ง ์๋๋ค!
์๋๋ฉด ์ถ์ ํ
์ด๋ธ์ด ๋์๊ธฐ ๋๋ฌธ์ด๋ค!
# ./proudction/models.py
from django.db import models
from products.models import AbstractCar
class Manufacturer(models.Model):
pass
class Car(AbstractCar):
pass
์์ ๋ชจ๋ธ์ migrateํด์ ์์ฑ๋ ํ ์ด๋ธ
- production_car
CREATE TABLE "production_car" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT, "manufacturer_id" integer NOT NULL REFERENCES "production_manufacturer" ("id") DEFERRABLE INITIALLY DEFERRED)
=> "production_car" ํ ์ด๋ธ์ ์์๋ฐ์ "AbstractCar"์์ ์ ์ ๋ ์ปฌ๋ผ๊ณผ ๊ฐ๋น!- production_manufacturer
CREATE TABLE "production_manufacturer" ("id" integer NOT NULL PRIMARY KEY AUTOINCREMENT)- ์ฃผ์!!
product_abstractcarํ ์ด๋ธ์ ์์ฑ๋์ง ์์๋ค! ์๋ํ๋ฉด AbstractCar๋ ์ถ์ํด๋์ค๋ก ์ค์ ๋์ด ์๊ธฐ ๋๋ฌธ์ด๋ค!
Reference
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(ORM๐น: ์ฅ๊ณ Abstract Models), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@muchogusto/์ฅ๊ณ -Abstract-Models์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค