languages
[python] ๊ฐ์ฒด์ ์ธ์คํด์ค
nani-jin
2024. 4. 17. 16:51
๐ค ๊ฐ์ฒด์ ์ธ์คํด์ค์ ์ฐจ์ด๊ฐ ๋ญ๊น?ํ๋ ๊ถ๊ธ์ฆ์ด ๋ค์ด ์ฐพ์๋ดค๋ค.
- ํด๋์ค๊ฐ ์ค๊ณ๋๋ผ๋ฉด, ์ธ์คํด์ค๋ ์ ํ์ด๋ค.
- ์ธ์คํด์ค๋ ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒด๋ค.
- ๊ฐ์ฒด(object)
- ์ํํธ์จ์ด ๊ฐ๋ ์ ์ผ๋ฐ์ ์ธ ์ธ์คํด์ค
- ํ๋์ ์์ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค (์ํ-๋ณ์์ ํ์-๋ฉ์๋ ํธ์ถ์ ์งํฉ)
- ๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค = ๋ฐ์ดํฐ ํ์ ์ ๋ง๋ ๋ค๋ก ๋งํ ์๋ ์๋ค - ์ธ์คํด์ค(instance)
- ๊ตฌ์ฒด์ ์ธ ๊ฐ์ฒด
์ดํด๋ฅผ ๋๊ธฐ ์ํด django์์ ์ค์ตํ ํ๋ก์ ํธ์์ ์ดํด๋ณด์
1) ๋จผ์ models.py์์ Question์ ์ค๊ณ๋๋ฅผ ๊ทธ๋ฆฐ๋ค.
class Question(models.Model): # models.Model ์์
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField(auto_now_add=True)
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
def __str__(self):
if self.was_published_recently():
new_badge = 'NEW!!!'
else:
new_badge = ''
return f'{new_badge} ์ ๋ชฉ: {self.question_text}, ๋ ์ง : {self.pub_date}'
2) shell์์ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํด๋ณธ๋ค.
from polls.models import *
q1 = Question(question_text = "๋๋ vs ๋งฅ๋๋ ๋")
[์ฐธ๊ณ ] ์ํ์ฝ๋ฉ, chatGPT