django 1.7如何在django会话模型上添加外键约束?

时间:2018-05-16 15:07:06

标签: python django django-models

在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()函数中。我仍然遇到同样的错误。

非常感谢任何帮助。

2 个答案:

答案 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='+')