Database Field
- λ°μ΄ν°λ² μ΄μ€μμ Fieldλ μΈλ‘ λ°©ν₯μΌλ‘ νμλ μ΄, columnμ λ§νλ€. νλλ DB Tableμμ κ°λ‘λ‘ νμν λ μ½λ (Record)μ λν κ°λ³μ μΈ μμ±κ°μ νμνλ€. DB νλλΌκ³ λ νλ€. λ°λλ§μ λ μ½λ(record)μ΄λ€.
μ¬μ§ μΆμ² - ν΄μλ·
νλ μ΅μ
(Field options)
- κ°κ°μ νλλ€μ ν΄λΉ νλμ νΉνλ λ
립 λ³μλ₯Ό κ°λλ€.
- ex) CharField μ CharField μ μλΈν΄λμ€λ€μ,
max_length κ°μ, λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν΄μ κΈΈμ΄λ₯Ό μ μνλ λ
립λ λ³μλ€μ κ°κ² λλ€.
- λν λͺ¨λ νμ
μ μ μ©λλ κ³΅ν΅ λ
립 λ³μλ μ‘΄μ¬νλ€.
νλ μ ν (Field types)
μ¬μ©νλ νλ μ νλ§ μ 리
CharField
- class CharField(max_length=None, **options)
- μκ±°λ ν° λ¬Έμμ΄μ μν λ¬Έμμ΄ νλ
- λ¬Έμμ μ΅λ κΈΈμ΄λ₯Ό μ€μ ν΄μΌ νλ€.
- CharFieldμλ μΆκ° μΈμ(extra arguments)κ° μ‘΄μ¬νλ€.
- CharField.max_length
- νμ
- νλμ μ΅λ κΈΈμ΄(λ¬Έμ) μ€μ
- λ§μ μμ ν
μ€νΈλ₯Ό μ¬μ©νλ €λ©΄ TextField.
FloatField
- class FloatField(**options)
- Pythonμμ float μΈμ€ν΄μ€λ‘ ννλλ μμμ μ«μμ΄λ€.
- λΆλ μμμ μ«μ λ°μ΄ν°μ μ¬μ©νλ κ·Όμ¬ μ«μ λ°μ΄ν° νμμ΄λ€.
- λΆλ μμμ λ°μ΄ν°λ κ·Όμ¬κ°(μ°Έκ°μ κ°κΉμ΄ κ°)μ΄λ€. λ°μ΄ν° νμ λ²μμ λͺ¨λ κ°μ μ ννκ² νμν μλ μλ€.
- float λ°μ΄ν° νμμλ κ·Όμ¬ μμ±μ΄ μμΌλ―λ‘ κΈμ΅ κ΄λ ¨ μμ© νλ‘κ·Έλ¨κ³Ό κ°μ΄ λ°μ¬λ¦Ό λλ λ±κ° νμΈ λ±μ΄ μ΄λ£¨μ΄μ§λ μμ
μμ μ νν μ«μκ° νμν κ²½μ°μλ μ¬μ©νμ§ μλ κ²μ΄ μ’λ€.
- λμ integer, decimal, money λλ smallmoney λ°μ΄ν° νμμ μ¬μ©νμ.
TextField
- ν° ν
μ€νΈ νλ
- λ¬Έμμ΄ μλ₯Ό μ ννκ³ μΆμΌλ©΄ CharFieldλ₯Ό μ¬μ©νλ©΄ λλ€.
DecimalField
- class DecimalField(max_digits=None, decimal_places=None, **options)
- FloatFieldλ μμμ μ κ·Όμ¬κ°μ μ 곡νμ§λ§ DeciamalFieldλ μμμ μ리λ₯Ό μ€μ ν΄μ μνλ μλ¦Ώμλ§νΌ μΆλ ₯μ΄ κ°λ₯νλ€.
- λ κ°μ νμ μΈμ(required arguments)κ° μ‘΄μ¬νλ€.
- DecimalField.max_digits
- μ«μμ νμ©λλ μ΅λ μλ¦Ώμ
- DecimalField.decimal_places
- μ«μμ ν¨κ» μ μ©ν μμ μλ¦Ώμ
models.DecimalField(..., max_digits=5, decimal_places=2)
- μ΅λ μ«μ μλ¦Ώμ 5, μ΅λ μμ μλ¦Ώμ 2μΈ μμμ μ«μ νλ
κ΄κ³ νλ (Relationship fields)
ForeignKey
- class ForeignKey(to, on_delete, **options)
- λ€λμΌ κ΄κ³ νλ
- λͺ¨λΈμ΄ κ΄λ ¨λ ν΄λμ€μ on_delete μ΅μ
μ λκ°μ§ μ΅μ
(positional arguments)μ΄ νμνλ€.
- μ¬κ· κ΄κ³(μμ κ³Ό λ€λμΌ κ΄κ³κ° μλ κ°μ²΄)λ₯Ό λ§λ€ μλ μλ€.
- models.ForeignKey('self', on_delete=models.CASCADE)
ForeignKey μΈμ(arguments)
- ForeignKeyλ κ΄κ³κ° μλνλλ° νμν μΈλΆμ¬νμ μ μνλ λ€λ₯Έ μΈμλ€μ νμ©νλ€.
ForeignKey.on_delete
- ForeignKeyλ‘ μ°Έμ‘°νλ κ°μ²΄κ° μμ λλ©΄, Djangoλ on_delete μΈμμ SQL μ μ½ μ‘°κ±΄μ λμνλ€.
- CASCADE
- κ³λ¨μ μμ .
- Djangoλ ON DELETE CASCADE SQL μ μ½ μ‘°κ±΄μ λμμ μ΄μ΄λ°κ³ ForeignKeyλ₯Ό ν¬ν¨νλ κ°μ²΄λ μμ νλ€.
<μ°Έκ³ >