> 백엔드 개발 > 파이썬 튜토리얼 > `관련_이름`은 Django의 `ManyToManyField` 및 `ForeignKey`에서 관련 모델에 대한 액세스를 어떻게 단순화합니까?

`관련_이름`은 Django의 `ManyToManyField` 및 `ForeignKey`에서 관련 모델에 대한 액세스를 어떻게 단순화합니까?

Barbara Streisand
풀어 주다: 2024-12-06 21:44:16
원래의
233명이 탐색했습니다.

How Does `related_name` Simplify Access to Related Models in Django's `ManyToManyField` and `ForeignKey`?

단순한 액세스를 위해 ManyToManyField 및 ForeignKey에 관련_이름 적용

질문:

무엇입니까? ManyToManyField에 대한 관련_이름 인수의 목적 및 ForeignKey 필드? 아래 예를 고려하십시오.

class Map(db.Model):
    members = models.ManyToManyField(User, related_name='maps',
                                     verbose_name=_('members'))
로그인 후 복사

사용자 모델에서 관련_이름='maps'를 정의하면 어떤 효과가 있습니까?

답변:

관련_이름 속성은 참조 모델(이 경우 User)에서 현재 모델(Map)로의 역관계 이름을 정의합니다. 일반적으로 Django는 접미사 _set를 사용하여 자동으로 역관계를 생성하지만 사용자 정의 관련 개체에 액세스하는 더 간결한 방법을 제공합니다.

제공된 예에서 current_user라는 사용자 개체가 있는 경우 current_user.maps.all()을 사용하여 연관된 지도에 액세스할 수 있습니다. 이는 current_user.map_set.all()과 같은 기본 역관계 구문보다 더 편리합니다.

관련_이름을 ''로 설정하여 역관계 생성을 완전히 비활성화할 수도 있습니다.

위 내용은 `관련_이름`은 Django의 `ManyToManyField` 및 `ForeignKey`에서 관련 모델에 대한 액세스를 어떻게 단순화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿