2010-04-16 2 views
6

이것은 아주 기본적인 것 그리고 내가 모르는 뭔가가해야하지만 여기 어쨌든 간다 ... 그래서 같은 두 가지 모델로Django ForeignKey가 생성되지 않았습니까?

: 학생이 학교 이전에 작성되는 경우

class School(models.Model): 
    name = models.CharField("Official School Name", max_length=128) 
    address = models.TextField("Address of the School", max_length=256) 
    mascot = models.CharField("Name of the School Mascot", max_length=128) 

class StudentProfile(models.Model): 
    name = models.CharField(max_length=128) 
    school = models.ForeignKey(School) 

, 어떻게 제공 할 '학교'는 기본 빈 값입니까? 그것입니다 공란 또는 null 또는 무엇?

감사합니다.

답변

8

null 장고 관리 사이트가 null이됨을 불평하지 않으려면 데이터베이스에 관계가 허용되도록하려면 blank을 입력하십시오. . "빈"에 대한 설명서에서

:.

"이 널 (null)과 다릅니다 널 (null)이 순수 데이터베이스 관련입니다, 빈 반면 것은 검증 관련있는 필드 장고의 빈 = 사실 확인이있는 경우 admin 사이트에서 빈 값을 입력 할 수 있습니다. 필드에 공백 = 거짓이면 필드가 필요합니다. "

간단히 말해 둘 다 원할 것입니다.

+0

그래, 필자는 선택 사항 인 경우 일반적으로 FK를 둘 다 설정합니다. –

+0

잘 작동하고 이전에 시도 했었습니다. 나는 manage.py 플러시를 실행하지만 분명히 db를 업데이트 할만큼 좋지는 않다. 이를 변경하는 유일한 방법은 db 파일을 삭제하고 manage.py syncdb를 실행하는 것입니다. – Scott

+2

syncdb는 테이블을 변경하지 않고 테이블 만 생성합니다. 모델을 수정하려면 수동으로 수행하거나 http://south.aeracode.org/와 같은 것을 사용해야합니다. – synic

관련 문제