나는 다음과 같습니다 장고 모델을하고 있어요 :존재하지 않는 개체를 생성하는 OneToOneField를 만들 수 있습니까?
입니다class Subscription(models.Model):
user = models.OneToOneField(User)
, 그것은 장고의 auth
모듈에서 User
클래스와 one-to-one 연관이있다. 이 연결은 선택 사항이 아닙니다.
sub = user.subscription
DoesNotExist
예외가 발생합니다 :하지만, 덕분에 일부 레거시 코드와 데이터베이스와의 몇 가지 수동 땜질로, 같은 그 코드를 의미 관련된 구독, 한 사용자가 하지 않는 경우가 있습니다 . 그러나 대부분의 코드베이스에서는 모든 사용자가 연관된 Subscription
객체를 가지고 있다고 가정합니다.
나는 서브 클래스 수있는 방법이 있나요 OneToOneField
관련 Subscription
개체가 데이터베이스에 존재하지 않는 경우, 내가 하나를 만들고 user.subscription
를 호출 할 때, 예외 상황을 던지는 대신의 반환합니다 있도록?
이 대부분 (기존) '사용자가 기존에 대해 발생하면 그냥 DB를 수정 코드를 리팩토링 및 사용자
단일 쿼리로 모든 레거시 사용자를 처리 할 수 있습니다. –