Many to many relationship
M:N κ΄κ³
β Many-to-many relationships
β ν ν
μ΄λΈμ 0κ° μ΄μμ λ μ½λκ° λ€λ₯Έ ν
μ΄λΈμ 0κ° μ΄μμ λ μ½λμ κ΄λ ¨λ κ²½μ°
β μμͺ½ λͺ¨λμμ N:1 κ΄κ³λ₯Ό κ°μ§λ€.
κ°μ
β λ³μμ λ΄μνλ νμμ μμ¬μ μμ½ μμ€ν
ꡬμΆ
β νμ <-> μμ¬ κ΄κ³ λ°μ΄ν° λͺ¨λΈλ§
μ©μ΄ μ 리
β Target model
- κ΄κ³ νλλ₯Ό κ°μ§μ§ μμ λͺ¨λΈ
β Source model
- κ΄κ³ νλλ₯Ό κ°μ§ λͺ¨λΈ
N:1 λͺ¨λΈμ νκ³

β λμΌν νμκ° λ€λ₯Έ μμ¬μκ² μμ½νκΈ° μν΄μλ κ°μ²΄λ₯Ό νλ λ λ§λ€μ΄μ μμ½μ μ§νν΄μΌ νλ€.

β μΈλ ν€ μ»¬λΌμ '1, 2' ννλ‘ μ°Έμ‘°νκΈ° λΆκ°λ₯
μ€κ° λͺ¨λΈ μμ±μ ν΅ν ν΄κ²°

β νμμ μμ¬ λλ€μ λν΄μ N:1 κ΄κ³λ₯Ό κ°μ§λ λ³λμ μμ½ λͺ¨λΈμ μλ‘ μμ±

β μμ¬μ νμ μμ± ν μμ½ λ§λ€κΈ° (μ¬μ§μ doctorλ₯Ό λ λ² μμ±ν΄μ 2λ² μμ¬λ‘ λμ΄)

β μμ°Έμ‘°λ₯Ό ν΅ν΄μ μμ½ μ 보 μ‘°ν κ°λ₯
Django ManyToManyField

β νμ λͺ¨λΈμ DJango ManyToManyField μμ± (볡μνμΌλ‘ μμ±νκΈ°!)

β μ’ μμ μ΄μ§ μμ λ³λμ μ€ν€λ§(μ€κ° ν μ΄λΈ)μ΄ μμ±λλ€.

β μμ½ μμ± λ° μ‘°ν(νμ -> μμ¬)

β μμ¬ -> νμ

β μμ½ μ·¨μ (μμ¬ -> νμ)

β μμ½ μ·¨μ (νμ -> μμ¬)
related_name
argument
β target modelμ΄ source modelμ μ°Έμ‘°ν λ μ¬μ©ν μ΄λ¦


β μμ°Έμ‘°κ° μλλΌ related_nameμΌλ‘ λ°λ‘ μ κ·Όν μ μλ€
through
argument
β κ·Έλ λ€λ©΄ μ€κ° λͺ¨λΈμ μ§μ μμ±νλ κ²½μ°λ μμκΉ?
- μ€κ° ν
μ΄λΈμ μλμΌλ‘ μ§μ ν κ²½μ°
through
μ΅μ μ μ¬μ©ν μ μλ€.
β κ°μ₯ μΌλ°μ μΈ μ©λλ μ€κ°ν μ΄λΈμ μΆκ° λ°μ΄ν°λ₯Ό μ¬μ©ν΄ M:Nκ΄κ³μ μ°κ²°νλ €λ κ²½μ°

β through
μ€μ λ° Reservation Class
μμ

β κΈ°μ‘΄ μ€κ° λͺ¨λΈμμμ μμ½ μμ± λ°©μμ μ΄μ©ν μλ μλ€.

β κΈ°μ‘΄ manytomany fieldμμ μμ¬λ νμκ° μμ½μ μμ±νλ―μ΄ μμ±ν μ μλ€.
β through_dfaults
κ°μ λμ
λ리 νμ
μΌλ‘ μ
λ ₯ν΄μ€λ€.
symmetrical
β λμΉμ μλ―Έ
β ManyToManyFieldκ° λμΌν λͺ¨λΈ(on self)μ κ°λ¦¬ν€λ μ μμμ μ¬μ©

β TrueμΌ κ²½μ°
- _set 맀λμ λ₯Ό μΆκ°νμ§ μμ
- source λͺ¨λΈμ μΈμ€ν΄μ€κ° targetλͺ¨λΈμ μΈμ€ν΄μ€λ₯Ό μ°Έμ‘°νλ©΄ μλμΌλ‘ targetλͺ¨λΈ μΈμ€ν΄μ€λ source λͺ¨λΈ μΈμ€ν΄μ€λ₯Ό μλμΌλ‘ μ°Έμ‘°νλλ‘ νλ€.(λμΉ)
- μ¦, λ΄κ° λΉμ μ μΉκ΅¬λΌλ©΄ λΉμ λ λ΄ μΉκ΅¬κ° λλ κ΄κ³
β λμΉμ μνμ§ μλ κ²½μ° Falseλ‘ μ€μ
μ 리
β M:N κ΄κ³λ‘ λ§Ίμ΄μ§ λ ν
μ΄λΈμλ λ³νκ° μμ
β Djangoμ ManyToManyField
μ μ€κ° ν
μ΄λΈμ μλμΌλ‘ μμ±νλ€.
β Djangoμ ManyToManyField
λ M:N κ΄κ³λ₯Ό λ§Ίλ λ λͺ¨λΈ μ΄λμ μμΉν΄λ μκ΄ μμΌλ, νλ μμ± μμΉμ λ°λΌ μ°Έμ‘°μ μμ°Έμ‘° λ°©ν₯μ μ£Όμν΄μΌ νλ€.
β N:1μ μμ ν μ’
μ κ΄κ³ μμ§λ§, M:Nμ μμ¬μκ² μ§μ°°λ°λ νμ, νμλ₯Ό μ§μ°°νλ μμ¬μ λ κ°μ§ ννλ‘ λͺ¨λ νν κ°λ₯
'β Personal_Study > Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘μ νΈ μ DB μ€κ³ λ°©λ² (0) | 2023.03.08 |
---|---|
λ°μ κ·ν (0) | 2023.03.07 |
N:1 Relationship (1) | 2022.10.08 |
Relational Database (0) | 2022.10.08 |
DML (Data Manipulation Language) (0) | 2022.10.08 |
λκΈ