gpt4 book ai didi

python - Django 模型的默认实例

转载 作者:太空宇宙 更新时间:2023-11-04 03:05:59 25 4
gpt4 key购买 nike

我的问题是:无论如何要为类语言创建一个默认实例吗?像这样:

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关于覆盖保存方法。

关于python - Django 模型的默认实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39459559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com