์ฅ๊ณ ์์ Foreignkey๋ฅผ ์์ฃผ ์ด๋ค๊ณ ํ๋๋ฐ, foreignkey ๊ฐ ๋ญ์ง ์ดํดํ๊ธฐ ์ด๋ ค์์ ์ค๋ช ๊ณผ ์์ ๋ฅผ ํจ๊ป ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค.
๋ฌธ๋ฒ
class ForeignKey(to, on_delete,**options)
1:1 / 1:N / N:N ์ ๊ด๊ณ๋ฅผ ์ง์ํ๋ค.
N์ธ ์ชฝ์์ ๊ด๊ณ๋ฅผ ์ ์ธํด์ฃผ๋ฉฐ, ๋ ๊ฐ์ ์ธ์๋ฅผ ํ์๋ก ํ๋ค.
ํ๋๋ ๋์์ด ๋๋ ํด๋์ค, ๋ค๋ฅธ ํ๋๋ ์ญ์ ์ ์ด์์ ๋ํ ์ค์ ์ ํ๋ค.
๐ ๊ฐ๋จํ ์์ ๐
1:1 - 1๋ช ์ ์ ์ 1๊ฐ์ profile
1:N - 1๋ช ์ ์ ์ , ๊ทธ ์ ์ ๊ฐ ์ด ์ฌ๋ฌ๊ฐ์ comments
N:N -ํ๋์ ์ฑ ์ ์ฌ๋ฌ๋ช ์ ์ ์, ์ฌ๋ฌ๋ช ์ ์ ์๊ฐ ์ด ์ฑ ๋ค
1์ธ ์ชฝ์ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋์ ๋, N์ชฝ์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง์ ๋ํ ์ค์ ์ ํ๋ค.
Ex.
class Comment(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
์ฅ๊ณ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์๋์ด ์๋ user ๋ชจ๋ธ๊ณผ ์ด๋ฅผ ์ปค์คํฌํ์ฌ ์๋ก ๋ง๋๋ profile ๋ชจ๋ธ์ ์ฐ๊ฒฐํด์ค ๋ ์์ฃผ ์ฌ์ฉ
ex.
class User(AbstracBaseUser):
class Profile(models.Modle):
user = models.OneToOneField(user, on_delete=models.CASCADE)
๐ ์๋๋ DBA ์ง๋ฌด์์ ์ผํ๋ ์น๊ตฌํํ
foreignkey ๋ฌผ์ด๋ณด๋๊น ๊ทธ๋ ค์ค ๊ทธ๋ฆผ,, ๊ณ ๋ง์,,๐