Created on Oct. 17, 2012, 6:06 p.m. by Hevok & updated by Hevok on May 2, 2013, 5:24 p.m.
There are at least three different ways to implement a default for a ForeignKey field.
Overwrite the init: ::
class Link(models.Model): def init(self, *args, kwargs): super(Link, self).__init__(*args, kwargs) self.fields['site'].initial = Site.objects.get(domain='denigma.de')
Provide a helper function for the model definition: ::
def get_site(): return Site.objects.get(domain='denigma.de')
class Link(models.Model): url = models.UrlField() site = models.ForeignKey(Site, default=get_site)
Simple set the default pk for the field: ::
class Link(models.Model): url = models.UrlField() site = models.ForeignKey(Site, default=1)
Comment on This Data Unit