python manage.py shell로 쉘 기동
쉘에서는 데이터를 보다 효율적으로 관리가 가능
쉘은 SQL이 아니기 때문에 대,소문자를 구별한다.
__로 객체간의 관계를 표현할 수 있다.
!주의!
1:n 관계에서는 foreign key로 정의되어 있는 테이블이 있는데
만약 1:n = Question: Choice 라면
Choice 에서 Question을 검색하려면 그냥 question 속성을
Question 에서 Choice를 검색하려면 Choice_set 속성을 사용한다.
CREATE 문
--insert문
save()로 처리
예시
q =Question(question_text='abc', pub_date = timezone.now())
q.save()
READ 문
--select문
--where 절은 filter(조건) ,exclude(제외할 조건)
--select의 결과는 object
--[:5] 같이 슬라이싱으로 SQL의 OFFSET 과 LIMIT를 사용가능
예시
#모든 결과 가져오기
Question.objects.all()
#question_text='abc' 중 pub_date가 오늘이 아닌 2005.1.30 일인 결과
Question.objects.filter(question_text='abc')
.exclude(pub_date=datetime.date.today())
.filter(pub_date=datetime(2005,1,30)
# 결과가 하나일때 get()을 쓴다.
Question.objects.get(pk=1)
UPDATE
하나의 결과 update는 save()로 처리
복수의 결과 update는 update()로 처리
예시
--단일 결과
q.question_text = 'efg'
q.save()
--복수 결과
Question.objects.filter(pub_date=2007).update(question_text='everyThing is fine')
DELETE
delete()로 처리
#모든 객체 삭제
Question.objects.all().delete()
###!! 이 경우는 오류
Question.objects.delete()
'웹 > Django' 카테고리의 다른 글
폼 처리하기 (0) | 2020.12.10 |
---|---|
템플릿 활용법3 - 템플릿 상속 (0) | 2020.12.10 |
템플릿 활용법2 -템플릿 태그 (0) | 2020.12.09 |
템플릿 활용법 (0) | 2020.12.09 |
djngo 시작하기 -MTV 실습 (0) | 2020.12.03 |