需要用一个外键的表的特定一个值来给创建的对象的某个字段设置默认值,想到如下前两种方法,看到后面一种,都感觉不太科学。
# 1:
default_what = What.objects.filter(name="default")
nation = models.ForeignKey(Country, default='IT')
# 2:
DEFAULT_ID = 1
what = models.ForeignKey(Country, default=DEFAULT_ID)
# 3:
class CountryManager(models.Manager):
"""Enable fixtures using self.sigla instead of `id`"""
def get_by_natural_key(self, sigla):
return self.get(sigla=sigla)
class Country(models.Model):
objects = CountryManager()
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, default='IT')
form.field['some_field_name'].init = '===请选择选项==='
如果我理解错了,请完善一下你的问题。