반응형
장고 모델에서 외부 키 필드를 선택적으로 만드는 방법은 무엇입니까?
다음 코드가 있습니다.
subject = models.ForeignKey(subjects)
location = models.ForeignKey(location)
publisher = models.ForeignKey(publisher)
제가 책의 세 가지 가치를 모두 갖지 못할 가능성이 있습니다.제목이나 위치 또는 게시자를 모를 수도 있습니다.이 경우에는 비워두고 싶습니다.
하지만 값이 존재하는 경우 선택 상자에서 값을 선택해야 합니다.이것이 가능합니까?
네, 그냥 추가하세요.blank=True, null=True
다음과 같이 선택사항으로 유지할 각 필드에 대해
subject = models.ForeignKey(subjects, blank=True, null=True)
이를 달성하기 위해,on_delete
논쟁은 함께 필요합니다.blank=True
그리고.null=True
이런 식으로 하시면 더 좋을 것 같습니다.
subject = models.ForeignKey(subjects, on_delete=models.SET_NULL, blank=True, null=True)
공백으로 설정해야 합니다=참 및 null=모델에 참입니다.외부 키 필드를 선택 사항으로 설정하고 on_delete를 아래와 같이 설정해야 합니다.
my_field = models.ForeignKey(
Parent_model,
blank=True, # Here
null=True, # Here
on_delete=models.CASCADE # Here
)
*어느 쪽이든 설정만 하여 주의하십시오.blank=True
또는null=True
로.models.ForeignKey()
외부 키 필드를 선택사항으로 만들기에는 충분하지 않으므로 두 필드를 모두 선택사항으로 설정해야 합니다.
또한, 모델로 원하는 것을 달성하고 싶다면,OneToOneField()는 다음과 같이 동일한 인수를 설정해야 합니다.
my_field = models.OneToOneField(
Parent_model,
blank=True, # Here
null=True, # Here
on_delete=models.CASCADE # Here
)
언급URL : https://stackoverflow.com/questions/6619984/how-to-make-the-foreign-key-field-optional-in-django-model
반응형
'programing' 카테고리의 다른 글
Firebase의 childEventListener가 모든 데이터 로드를 완료했는지 확인합니다. (0) | 2023.07.20 |
---|---|
SQL Server의 OUTPUT INSERT.*에 해당하는 Oracle이 있습니까? (0) | 2023.07.20 |
파이썬: 삐 소리 내기 (0) | 2023.07.20 |
점과 일치하는 정규식 (0) | 2023.07.20 |
Python 하위 프로세스 popen 사용 방법 (0) | 2023.07.20 |