π μ΅μ’ νλ‘μ νΈ μ€κ³μ μ€λΉλ₯Ό νμλ€.
κ°μΈμ μΌλ‘ CRUDλ λ무 μ½κ³ CRUD μμμ ꡬνν μ μλ κ²λ€μ λλ¦ λ―Έλ νλ‘μ νΈμμ λ€ μ§νν΄λ³΄μμ μλ‘μ΄ κ²λ€μ μ¬μ©ν΄λ³΄κ³ μΆμ μμ¬μ΄ λ¬λ€.
μ TILμ μ±ν κ΄λ ¨ κΈλ€μ λ§μ΄ μ¬λ Έλλ°
- μ€μκ° μ±ν
- κ³μ’ λ±λ‘, μ‘κΈ
μ κΈ°λ₯λ€μ μ΅μ’ νλ‘μ νΈμμ ꡬνν΄ λ΄κ³ μΆμ μμ¬μ΄ λ νμλ€μκ² ν΄λ³΄κ² λ€κ³ λ§νλ€. νμλ€μ΄ μ’λ€κ³ λ§νκ³ λλ μ κΈ°λ₯λ€μ λ§‘μλ€.
λ¬Όλ‘ CRUD μ μ¬μΈν κΈ°λ₯λ€μ λλ λ§μ§ κ²μ΄λ€.
μ΄κΈ° DB μ€κ³λ μ΄λ λ€.
κ²μν μν μ νλ workshopκ³Ό articleμ΄ μκ³ ν΄λΉ λͺ¨λΈμ λκΈ κΈ°λ₯μ΄ μμ΄ λ§μ 보μΈλ€. μ‘κΈ κ΄λ ¨ κΈ°λ₯λ...γ κ·Έμ λ°μ μ±ν κ΄λ ¨ λͺ¨λΈμ μμνλ° μ±ν μ΄ μ΄λ€ λ°©μμΌλ‘ λμνλμ§ λͺ°λΌ λ΄κ° μ€κ³λ₯Ό λͺ» νκΈ° λλ¬Έμ΄λ€. μ΄νμ΄ μ§λ μ§κΈμ μλμ κ°μ΄ μ§°λ€.
from django.db import models from users.models import User class ChatRoom(models.Model): sender = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, related_name='Room_sender') receiver = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, related_name='Room_receiver') # def __str__(self): # return str(self.sender) class RoomMessage(models.Model): room = models.ForeignKey(ChatRoom, on_delete=models.CASCADE) user = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) content = models.TextField(max_length=1000, null=True) is_read = models.BooleanField(default=False) created_at = models.DateTimeField(auto_now_add=True) def __str__(self): return str(self.room)
μ±ν λ°© ( ChatRoom ) μ΄ μ μ μ μ μ μ¬μ΄μ μκΈ°κ³ ν΄λΉ λ°©μ λ©μΈμ§κ° μ μ₯λλ λ°©μμ΄λ€.
μκ°μ λ©μΈμ§κ° μ μ‘λλ κ³Όμ μμ μκ°μ μ°μ΄μ£Όλ €κ³ νμμΌλ©°
1 : 1 μ±ν μ ꡬν νμλ μ‘κΈ, μ‘κΈ μλ£ κΈ°λ₯κ³Ό κ°μ΄ μ§ννλ €κ³ νλ€.
μ€μκ° μ±ν μ ꡬννμ¬ asgiλ₯Ό μ¬μ©ν΄ λ°°ν¬λ gunicornμΌλ‘ λͺ» νκ³ λ€λ₯Έκ²μΌλ‘ μ§νν΄μΌ νμ§λ§ μ΅μ’ νλ‘μ νΈμΈλ§νΌ λΆλͺν λ³΄κ³ μΆμ λ§μμ΄ λ ν° κ² κ°λ€.μ²μμλ λ²κ±°μ μ§λ§ μ§ν μλλ₯Ό λ΄μλ λ€μμ£Ό μ΄μ€μλ λλκ³ λ€λ₯Έκ²μ λ§μ§κ³ μμ§ μμκΉ... μ‘°μ¬μ€λ μκ°ν΄λ³Έλ€..γ γ
π μλ μκ³ λ¦¬μ¦ μκ°μ λ°λ‘ λΉΌλμμμ§λ§ μ±ν μ ꡬννκ³ μΆμ λ§μμ΄ λ 컀, λ©°μΉ κ° django channelsλ§ λ³΄κ³ μλ€... μ‘κΈκΉμ§λ§ ꡬννκ³ μκ³ λ¦¬μ¦ μ‘°κΈμ© λ€μ μμνλ €κ³ νλ€ γ γ