python - Django中,如何为ForeignKey设置默认值最科学
天蓬老师
天蓬老师 2017-04-17 12:02:01
[Python讨论组]

需要用一个外键的表的特定一个值来给创建的对象的某个字段设置默认值,想到如下前两种方法,看到后面一种,都感觉不太科学。

# 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')

如何能科学的解决这个问题呢?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号