2016-01-16 2 views
0

models.py:Django модели отношений, как сделать это по желанию

class Time(models.Model): 
    id = models.AutoField(primary_key=True) 
    who= models.TextField(db_column='who') 

class Task(models.Model): 
    id = models.AutoField(primary_key=True) 
    when= models.ForeignKey(Time) 

мне нужно записать время и задач, но моя проблема в том, что там может быть:

1) Время без задачи,

2) Задача без времени,

3) Время с несколько Task

Я попытался добавить ForeignKey к задаче утратившей пустого = True, но Джанго говорит, что «ForeignKey не может быть пустым»

Есть ли другие способ сделать это "опционально" отношение?

ответ

0
when = models.ForeignKey(Time, default=None, blank=True, null=True) 

и сделать новую миграцию изменить схему:

python manage.py makemigrations 
python manage.py migrate 

вы получаете

foreignKey can't be null 

, потому что ваша схема оленья кожа позволяют Ф.К. утратившими

3

Вы должны сделать, как это:

Похоже, вы добавили null=True после запуска manage.py makemigrations. Вам нужно будет изменить схему базы данных, чтобы разрешить нулевые значения в этом столбце.

Смежные вопросы