我的问题是:无论如何要为类语言创建一个默认实例吗?像这样:
class Language(models.
default_instance = Language(name="unknown")
name = models.CharField(max_length=100)
所以类学生可以使用这个:
class Student(models.Model):
name = models.CharField(max_length=50)
language = models.ForeignKey(Language, default = Language.default_instance.pk )
谢谢!
请您参考如下方法:
您可以通过覆盖保存方法来设置它:
#your model
class Student(models.Model):
name = models.CharField(max_length=50)
language = models.ForeignKey(Language)
# override save
def save(self,**args,**kwargs):
if self.language is None:
default_language = Language.objects.get(pk=1) #set to default
self.language = default_language
super(Student,self).save(self,*args,**kwargs) # the 'real' save
参见 here关于覆盖保存方法。
