如何在外键字段上定义动态初始值?
使用代码:
from django.db import models
from django.conf import settings
from django.contrib.sites.models import Site
class Example(models.Model):
site = models.ForeignKey(Site, initial=settings.SITE_ID)
我遇到以下错误:
site = models.ForeignKey(Site, initial=settings.SITE_ID)
Field.__init__(self, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'initial'
我也尝试过:
class Example(models.Model):
site = models.ForeignKey(Site, initial=Site.objects.get(id=settings.SITE_ID))
提前致谢
答案 0 :(得分:4)
模型字段不采用“初始”参数,它们采用“默认”。
答案 1 :(得分:1)
覆盖模型的save()
方法,并检查字段的值是否为None
。
答案 2 :(得分:0)
如果我理解你关于动态部分,那么这与Django foreign key FAQ和James Bennett的Django tips: auto-populated fields有关(参见 The Holy Grail 小标题:-)。