gpt4 book ai didi

django - 设置外键属性的默认值

转载 作者:行者123 更新时间:2023-11-28 19:33:49 24 4
gpt4 key购买 nike

为模型中的外键字段设置默认值的最佳方法是什么?假设我有两个模型,StudentExam,学生将 exam_taken 作为外键。我将如何理想地为其设置默认值?这是我的努力日志

class Student(models.Model):
....
.....
exam_taken = models.ForeignKey("Exam", default=1)

有效,但预感有更好的方法。

def get_exam():
return Exam.objects.get(id=1)

class Student(models.Model):
....
.....
exam_taken = models.ForeignKey("Exam", default=get_exam)

但这失败了,同步时表不存在错误。

如有任何帮助,我们将不胜感激。

最佳答案

我会稍微修改上面@vault 的回答(这可能是一个新功能)。绝对希望通过自然名称来引用该字段。但是,我不会覆盖 Manager,而是简单地使用 ForeignKeyto_field 参数:

class Country(models.Model):
sigla = models.CharField(max_length=5, unique=True)

def __unicode__(self):
return u'%s' % self.sigla

class City(models.Model):
nome = models.CharField(max_length=64, unique=True)
nation = models.ForeignKey(Country, to_field='sigla', default='IT')

关于django - 设置外键属性的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311996/

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