Django에서 ORM 일대 다중 모형의 증가, 삭제, 수정, 필기
class Colors(models.Model):
colors = models.CharField(max_length=10,verbose_name=' ')
class Meta:
vebose_name = ' '
vebose_name_plural = ' '
class Clothes(models.Model):
color = models.ForeignKey("Colors",verbose_name=' ')
description = models.CharField(max_length=10,verbosename=' ')
class Meta:
verbose_name = ' '
vebose_name_plural = ' '
조사
(1) 메인 테이블 데이터를 찾습니다.
1. 메인 테이블을 통해 직접 조회하기:
color = models.Colors.objects.get(clothes__description=" ").colors) #
2. 테이블에서 마스터 테이블을 질의합니다.
color = models.Clothes.objects.get(description=" ").color.colors
(2) 테이블 데이터를 찾습니다.
1. 메인 테이블을 통해 조회하기:
color_obj = models.Colors.objects.get(colors=" ")
qs = color_obj.clothes_set.all() # _set , related_name , ( clothes_set)
2. 테이블에서 질의하기
(1) 객체 질의:
qs = models.Clothes.objects.filter(color=models.Colors.objects.get(colors=" "))
# ( )
#qs = models.Clothes.objects.filter(color__colors=" ")
(2) id 쿼리:
color_id=models.Colors.objects.get(colors=" ").id # id
qs = models.Clothes.objects.filter(color_id=color_id)
2. 증가:
(1) 객체 통과:
models.Clothes.objects.create(color=models.Colors.objects.get(colors=" "),description=" ")
(2) id 통과:
models.Clothes.objects.create(color_id=models.Colors.objects.get(colors=" ").id,description=" ")
지우다
(하나)
models.Clothes.objects.get(description=" ").delete() # QuerySet delete()
(2)
models.Colors.objects.filter(colors=" ").delete()
고치다
(1) 객체 통과:
models.Clothes.objects.filter(color__colors=" ").update(description=" ")
(2) id 통과:
models.Clothes.objects.filter(color_id=models.Colors.objects.get(colors=" ").id).update(description=" ")
(3) 시계의 를 통해set 메서드 질의 대칭 이동:
colors_obj=models.Colors.objects.get(colors=" ")
colors_obj.clothes_set.filter(id__gte=1).update(description=" ")
# (Clothes) related_name( 'cls'), :
#colors_obj.cls.filter(id__gte=1).update(description=" ")
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.