我有以下Model
:外键总是被设置为空数据库
class Message(models.Model):
parent = models.ForeignKey('self', related_name='parent_msg', null=True)
(...)
而且我下面创建一个新的消息:
(...)
parent_msg = Message.objects.get(id = message_id)
m = Message(..., parent = parent_msg)
m.save()
但parent_id
场总是被在数据库上设置为NULL
。
该文档显示“如果为True,Django将在数据库中将空值存储为NULL”,但我知道parent_msg
不是空的,所以我做错了什么?
尝试向'ForeignKey'参数添加'blank = True'。以防万一,你确定所有的模式迁移都被触发了吗?另外,你确定你在初始化之后不忘记保存对象吗?您也可以尝试将父项设置为属性(不在构造函数中: 'm.parent = parent_msg; m.save()' – 2013-05-01 21:49:52
我已经尝试添加'blank = True,default = None',并且运行'syncdb',我也做'm.save()'。仍然没有成功 – AntonioJunior 2013-05-01 22:53:55