Django ForeignKey创建空?

Sco*_*ott 6 django foreign-keys

这看起来非常基本,我一定会遗漏一些东西,但无论如何......

有两个这样的模型:

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)
Run Code Online (Sandbox Code Playgroud)

如果学生在学校之前创建,我如何给"学校"一个默认的空值?是空白还是什么

谢谢!

syn*_*nic 8

null如果您希望数据库允许关系为null,blank如果您不希望Django管理站点抱怨它为null.

从"空白"的文档:

"请注意,这与null不同.null纯粹与数据库相关,而blank与验证相关.如果字段为空= True,则对Django管理站点的验证将允许输入空值.如果字段为空=错,这个领域是必需的."

简而言之,您可能想要两者.

  • syncdb不会更改表,它只会创建它们.如果要修改模型,则必须手动执行,或使用http://south.aeracode.org/之类的内容. (2认同)