, 당신은 모델을 생성하고 선택적으로Django 역방향 관계가 오버 헤드를 추가합니까? 장고에서
class Man:
...
class Dog:
...
owner = models.ForeignKey(Man, on_delete=models.SET_NULL)
당신은 다음 Man
owner = some_dog.owner
all_dogs = some_man.dog_set.all()
하면 모든 개를 각각의 소유자에 대한 각 Dog
를 조회하거나 얻을 수있는 필드에 외부 키를 지정할 수 있습니다 the docs에 지정된 역방향 관계를 만들지 않으려면
class Man:
...
class Dog:
...
owner = models.ForeignKey(Man, on_delete=models.SET_NULL, related_name='+')
이제 더 이상 all_dogs = some_man.dog_set.all()
에 액세스 할 수 없습니다.
그러나 역방향 관계의 추가 "빌드"가 오버 헤드를 추가합니까?
all_dogs = some_man.dog_set.all()
을 사용한 적이없는 경우
Dog
에 related_name='+'
을 지정했는지 여부는 중요합니까? 잠재적으로 일이 느려질까요?
이 기능은 순수하게 응용 프로그램 측 장고에서 구현 되었습니까? related_name='+'
도 데이터베이스 스키마 자체를 변경합니까?