Django模型关系如何使其可选

时间:2016-01-16 09:09:49

标签: django database-design

models.py

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)具有多个任务的时间

我尝试将ForeignKey添加到Task为null并且空白= True但是django说“foreignKey不能为null”

还有其他方法可以建立这种“可选”关系吗?

2 个答案:

答案 0 :(得分:3)

你应该这样做::

在运行null=True后,您最有可能添加了manage.py makemigrations。您需要修改数据库模式以允许该列中的空值。

答案 1 :(得分:0)

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

并进行新迁移以更改架构:

python manage.py makemigrations 
python manage.py migrate
你正在

foreignKey can't be null

因为你的架构不允许fk为null