상세 컨텐츠

본문 제목

221115 sql과 django ORM & 팀스터디

카테고리 없음

by hunss 2022. 11. 15. 22:00

본문

select * from asd;

 

CREATE TABLE Person(

name varchar(50)

)

 

SELECT DISTINCT FROM PERSON;

> distinct 중복제거

> Person.objects.values('name', 'age').distinct()

 

SELECT * FROM Person LIMIT 10;

> Person.objects.all()[:10] 0~10

>> Person.objects.all()[5:10] 6~10

 

Person.objects.filter(age__gt=20).value()

> gt : greater than / lt : less than

> gte : greater than or equal / lte : less than or equal

 

Person.objects.filter(name__icontains='장고').value()

> istartswith ( i > 대소문구분 안하겠다)

> iendswith

 

Persion.objects.filter(id__in=[1,2,6,9])

> id 가 1, 2, 6 ,9 만 불러옴

> 사용자 특정지어서 불러오기 가능

 

Q객체

Person.objects.filter(gender='male', age__gt=25)

Person.objects.filter(Q(gender='male') ㅣ Q(age__gt=25))

> or

 

Person.objects.exclude(gender='male').value()

> gender=male 빼고

 

Person.objects.order_by('?')[:5].value()

>랜덤으로 5개 뽑기

 

F객체

디비랑 싱크 맞춰줌.

그냥 하면 싱크 안맞을 수도 있는데, F객체 쓰면 디비 싱크 맞음.

target_person.age=F('age')+10

 

Person.objects.filter(age__gte=25).delete()

>삭제가능

> 디비 삭제하는 건 별로 선호되지 않기 때문에

> 유저관리할 때 status필드를 만들어서 1(정상) 2(정지) 3(임의탈퇴) 등

> 해서 조건별로 관리하기도 함


팀 타임어택

<커스터마이징 장고 회원가입&로그인>
1. 회원가입(email, password, usrname, 생년월일로 회원가입&해싱되어 있어야 함)
- email 형태 확인 메세지
- password 8자 이상, 오류 메세지
- username 2자 이상, 오류 메세지
2. 로그인(email, password로 로그인)
로그인 되면 "가입 완료!"메세지
로그인 안되면 에러<순서>
1. 기본 설치
2. settings.py 수정
3. urls.py 작성
4. models.py 작성 및 수정
5. admin.py 작성 및 수정
6. serializers.py 작성
7. views.py 작성