Django: Как определить динамическое начальное значение в поле модели ForeignKey - PullRequest
3 голосов
/ 29 августа 2010

Как определить динамическое начальное значение в поле внешнего ключа?

С кодом:

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

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 29 августа 2010

Поля модели не принимают «начальный» параметр, они принимают «значение по умолчанию».

1 голос
/ 29 августа 2010

Переопределите метод save() модели и проверьте, является ли значение поля None.

0 голосов
/ 29 августа 2010

Если я правильно понимаю вас о динамической части, это относится к внешнему ключу Django FAQ и советам Джеймса Беннетта Django: автоматически заполненные поля (см. Святой Грааль подзаголовок :-).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...