λͺ¨λΈμ μΉ μ΄ν리μΌμ΄μ
μμ μ¬μ©ν λ°μ΄ν°λ₯Ό λͺ
μΈν pythonμμ€μ½λμ΄λ€. λͺ¨λΈμ λ°μ΄ν°λ² μ΄μ€μ μ°λλλ©°, κ°λ¨ν κ²½μ° λͺ¨λΈ νλκ° λ°μ΄ν°λ² μ΄μ€ ν
μ΄λΈ νλλ‘ λ§€νλλ€. λ°λΌμ μΉ κ°λ°μλ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ§μ μλμ§ μκ³ μμ€μ½λμΈ λͺ¨λΈμ λ³κ²½ν΄κ°λ©΄μ μμ
μ μ§νν μ μλ€. λͺ¨λΈμ λ³κ²½ν λλ§λ€ djangoμμ μ 곡νλ manage.py syncdbλ₯Ό μ΄μ©νλ©΄ λ³κ²½λ λͺ¨λΈμ΄ λ°μ΄ν°λ² μ΄μ€ ν
μ΄λΈμ λ°μλλ€.
ν μ΄λΈ μμ± ¶
λͺ¨λΈμ μ¬μ©μκ° μ§μ νμ§ μλ κ²½μ° κΈ°λ³Έμ μΌλ‘ idλΌλ μ΄λ¦μΌλ‘ μ μν μ£Όν€λ₯Ό κ°μ§λ€.
λͺ¨λΈμ ν΄λΉνλ ν
μ΄λΈμ μμ±νλ SQLλ¬Έμ
class Risk(models.Model): #id = models.AutoField() name= models.CharField(maxlength=10) ...
python manage.py sql <app name>
μΌλ‘ νμΈν μ μλ€. μμ ν΄λΉνλ SQLλ¬Έμ λ€μκ³Ό κ°λ€.
CREATE TABLE "manage_risk" ( "id" integer NOT NULL PRIMARY KEY, "name" varchar(10) NOT NULL );
λ€ λ μΌ κ΄κ³ ¶
λ€ λ μΌ κ΄κ³μμλ λ€ μͺ½μμ μΌμͺ½μ μ°Έμ‘°νλλ‘ μ€κ³ν΄μΌ νλ€.
class RiskReport(models.Model): risk= models.ForeignKey(Risk) ...νΉμ λͺ¨λΈμ΄ λλ ν΄λμ€μ μ΄λ¦μ λ¬Έμμ΄λ‘ μ§μ ν μλ μλ€. μ΄λ ν΄λμ€λ₯Ό μ μνλ μμμ μκ΄μμ΄ ν λͺ¨λΈμ΄ λ€λ₯Έ λͺ¨λΈμ μ°Έμ‘°ν μ μλλ‘ νλ€.
class RiskReport(models.Model): risk= models.ForeignKey('Risk') ...
λ€ λ λ€ κ΄κ³ ¶
λ€ λ λ€ κ΄κ³μμλ μ΄λ ν μͺ½ λͺ¨λΈμ λ€ λ λ€ κ΄κ³μμ νννλ€. νμ§λ§ μμͺ½ λͺ¨λμ λ€ λ λ€ νλλ₯Ό μ€μΉνλ©΄ μλλ€. Djangoλ λ€ λ λ€ κ΄κ³μΈ κ²½μ° μ΄λ₯Ό νννλ ν
μ΄λΈμ μλμΌλ‘ μμ±νλ€. λ€μμ Employeeμ Deparmentλͺ¨λΈ μ¬μ΄μ λ€ λ λ€ κ΄κ³λ₯Ό λνλ΄κ³ μλ€.
class Employee(models.Model): name= models.CharField(maxlength=100) email= models.EmailField() class Department(models.Model): name= models.CharField(maxlength=100) location= models.CharField(maxlength=200) employees= models.ManyToManyField(Employee)λ€λλ€ κ΄κ³λ μ’λ 볡μ‘ν΄μ§ μ μλ€. λ λͺ¨λΈ μ¬μ΄μ κ΄κ³μ ν΄λΉνλ ν μ΄λΈμ΄ λλ€λ₯Έ μμ±μ΄ νμν κ²½μ°μ΄λ€. μ΄ λλ μ€κ° μν μ νλ λͺ¨λΈμ μ§μ μμ±νκ³ μμͺ½ λͺ¨λΈμ μ°Έμ‘°νλλ‘ λ§λ λ€. λ€μμ RiskReportμ ControlReportμ¬μ΄ λ€ λ λ€ κ΄κ³μμ λ³΄κ³ λ μνμ λν΄μ λμ² λ°©μμ΄ μ μ νλμ§ νκ°νλ is_vaildμμ±μ κ°μ§λ RiskControlλͺ¨λΈμ 보μ¬μ£Όκ³ μλ€.
class RiskReport(models.Model): class ControlReport(models.Model): class RiskControl(models.Model): risk_report= models.ForeignKey(RiskReport) control_report= models.ForeignKey(ControlReport) is_vaild= models.BooleanField()νμ§λ§ μ΄ κ²½μ° risk_reportμ control_reportμ ν©μ±ν€λ₯Ό μ¬μ©νλλ‘ μ§μνμ§ μλλ€.
Admin ¶
Djangoλ μ μν λͺ¨λΈμ Adminν΄λμ€λ₯Ό μ¬μ μν΄μ μ΄λ₯Ό μ½μ
, μμ , κ°±μ ν μ μλ κΈ°λ³Έμ μΈ κ΄λ¦¬μ μΈν°νμ΄μ€λ₯Ό μλμΌλ‘ μμ±ν΄μ€λ€. μ¬μ©μ μΈν°νμ΄μ€λ μ
λ ₯ νλͺ©μ μνλλλ‘ λ°°μΉν μ μμΌλ©°, μνλ λμμΈλ μ μ©ν μ μλ€. μ΄κ²μΌλ‘ κΈ°λ³Έμ μΈ μ
λ ₯ μμ€ν
μ λ§λ€μ΄μ‘λ€.



----
django/Example



django/Example