나는 사람 모델 장고 모델이 있습니다,장고 데이터베이스 설계 - 널 Forign 키
는 "middle_name"필드가 Null을 허용class Person(models.Model):
# Personal details
first_name = models.CharField(max_length=50)
middle_name = models.CharField(max_length=50, blank=True, null=True)
last_name = models.CharField(max_length=50)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
date_of_birth = models.DateField()
# Address
street_address = models.CharField(max_length=50)
suburb = models.CharField(max_length=30)
postcode = models.CharField(max_length=4)
state = models.CharField(max_length=3, choices=STATE_CHOICES)
#Contact Details
email = models.EmailField()
# Family
spouse = models.ForeignKey('self', null=True, blank=True)
children = models.ManyToManyField('self', null=True, blank=True)
home_church = models.ForeignKey('Church', null=True, blank=True)
, 나는이를 방지 할 수있는 방법이 있다고 생각하지 않습니다 있는가?
그러나 배우자에 대해 nullable ForeignKey, 자녀에 대해 재귀 ManyToManyField 및 교회에 대한 nullable ForeignKey (해당되는 경우)가 있습니다.
제 질문 - 우선 null 허용 외래 키에 대한 현재 합의는 무엇입니까? 제가 여기서 허용해야합니까, 아니면 배우자/가정 교회가없는 것을 나타내는 "아무도 없음"또는 "지정되지 않은"모델을 만들어야합니까?
아니면 다른 방법으로 장고에서이 디자인을 수정하여이 문제를 해결할 수 있습니까?
그리고 내가 FK를 null로 진행한다면, 장고에주의해야 할 사항이 있습니까? (왼쪽 가입?)
건배,
내 2 센트 만 허용되지만 nullable 외래 키는 완벽하고 대부분 사실상 필수 불가결하다고 생각합니다. 장고는 내가 생각할 수있는 경고가 없으며 ORM이 문제를 잘 처리 할 것입니다. – Mikesname
+1 Mikesname에 대해 –