在Django 1.7中,在Django会话中添加外键约束,
django.db.utils.IntegrityError: (1215, 'Cannot add foreign key constraint')
下面是我的模型定义
class UserSession(models.Model):
user = models.ForeignKey(User,blank=True,null=True,default=None)
session = models.ForeignKey('Session')
查看数据库后,django_session表没有id列。我还尝试将db_column='session_key'
(将session_key是django_session表中的主键)参数添加到ForeignKey()函数中。我仍然遇到同样的错误。
非常感谢任何帮助。
答案 0 :(得分:1)
尝试
from django.contrib.sessions.models import Session
class UserSession(models.Model):
user = models.ForeignKey(User,blank=True,null=True,default=None)
session = models.ForeignKey(Session)
答案 1 :(得分:1)
这解决了问题to_field属性,用于指定要引用的列。
class UserSession(models.Model):
user = models.ForeignKey(User,blank=True,null=True,default=None)
session = models.ForeignKey(Session,to_field='session_key',related_name='+')