django 데이터베이스 추가,수정,삭제 작업
21677 단어 python
python3 manage.py shell
from books.models import BookInfo,HeroInfo
>>> from datetime import date
>>> book = BookInfo(
... btitle=' ',
... bpub_date=date(2000,2,2),
... bread=10,
... bcomment=10
... )
>>> book.save()
>>> hero = HeroInfo(
... hname=' ',
... hgender=160,
... hbook=book
... )
>>> hero.save()
>>> hero2 = HeroInfo(
... hname=' ',
... hgender=150,
... hbook_id=book.id
... )
>>> hero2.save()
Create 방법 >>> HeroInfo.objects.create(
... hname=' ',
... hgender=140,
... hbook=book
... )
<HeroInfo: >
hero = HeroInfo.objects.get(hname=' ')
hero.hname = ' '
hero.save()
HeroInfo.objects.filter(hname=' ').update(hname=' ')
hero = HerInfo.objects.get(id=12)
hero.save()
hero = HerInfo.objects.filter(id=13).delete()
>>> from books.models import BookInfo,HeroInfo
>>> BookInfo.objects.all()
<QuerySet [<BookInfo: >, <BookInfo: >, <BookInfo: >, <BookInfo: >, <BookInfo: >]>
>>> book = BookInfo.objects.get(btitle=' ')
>>> book.id
5
>>> BookInfo.objects.get(id=3)
<BookInfo: >
>>> BookInfo.objects.get(pk=3)
<BookInfo: >
__ =
# ,
BookInfo.objects.filter(id__exact=1)
# :
BookInfo.objects.filter(id=1)
BookInfo.objects.filter(btitle__contains=' ')
startswith,endswith:지정 치 로 시작 하거나 끝 나 는 예:책 이름 을'부'로 끝 나 는 도서 BookInfo.objects.filter(btitle__endswith=' ')
: , i , iexact、icontains、istartswith、iendswith.
BookInfo.objects.filter(btitle_isnull=False)
BookInfo.objects.filter(id__in=[1,3,5])
예:조회 번호 가 3 이상 인 도서
BookInfo.objects.filter(id__gt=3)
과 같 지 않 은 연산 자 는 exclude()필 터 를 사용 합 니 다.예:조회 번호 가 3 과 같 지 않 은 도서 BookInfo.objects.exclude(id=3)
BookInfo.objects.filter(bpub_date__year=1980)
예:1980 년 1 월 1 일 이후 발 표 된 도 서 를 조회 합 니 다.BookInfo.objects.filter(bpub_date__gt=date(1990, 1, 1))
F( )
예:조회 독 서량 이 평 론 량 보다 많은 도서 from django.db.models.import F
BookInfo.objects.filter(bread__gte=F('bcomment'))
은 F 대상 에서 산수 연산 예 를 사용 할 수 있다.조회 독 서량 이 2 배 이상 인 도서 BookInfo.objects.filter(bread__gt = F('bcomment')*2)
BookInfo.objects.filter(bread__gt=20,id__lt=3)
#||
BookInfo.objects.filter(bread__gt=20.filter(id__lt=3))
은 논리 나 or 의 조 회 를 실현 하려 면 Q()대상 을 결합|연산 자 를 사용 해 야 합 니 다.Q 대상 은 django.db.models 에 의 해 의 미 를 가지 고 있 습 니 다.문법 은 다음 과 같다.Q( __ = )
예:조회 독 서량 이 20 보다 많 고 번호 가 3 보다 작은 도 서 는 Q 대상 으로 다음 과 같다.from django.db.models import Q
BookInfo.objects.filter(Q(bread__gt=20)|Q(id__lt=3))
Q 대상 은&,|연결 을 사용 할 수 있 습 니 다.&논리 와,|논리 또는.예:조회 독 서량 이 20 이상 이거 나 번호 가 3 이하 인 도 서 는 Q 대상 이 BookInfo.objects.filter(Q(bread__gt=20) | Q(pk__lt=3))
Q 대상 을 실현 하기 전에~조작 부호 만 사용 할 수 있 으 며,not 임 을 나타 낸다.예:조회 번호 가 3 과 다른 도서.BookInfo.objects.filter(~Q(pk=3))
중합 함수
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.