2
두 개의 외래 키 필드에서 null을 허용하고 싶습니다.장고의 두 필드에 대한 제약
그러나 두 필드는 동시에 null이 아니어야합니다.
사실 언제든지 정확히 하나를 설정해야합니다.
어떻게 표현할 수 있습니까?
두 테이블 외래 키 참조가 동일하지 않습니다.
두 개의 외래 키 필드에서 null을 허용하고 싶습니다.장고의 두 필드에 대한 제약
그러나 두 필드는 동시에 null이 아니어야합니다.
사실 언제든지 정확히 하나를 설정해야합니다.
어떻게 표현할 수 있습니까?
두 테이블 외래 키 참조가 동일하지 않습니다.
모델 필드에 무언가를 추가하여이를 수행 할 수 없습니다. 이 논리를 save()
에 넣어야합니다.
class MyModel(models.Model):
fk1 = models.ForeignKey(Some, null=True)
fk2 = models.ForeignKey(Other, null=True)
def save(self, *args, **kwargs):
if not fk1 and not fk2:
raise Exception("You can't leave both fields as null")
super(self, MyModel).save(*args, **kwargs)