Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django 1.7如何在django会话模型上添加外键约束?_Python_Django_Django Models - Fatal编程技术网

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

Python django 1.7如何在django会话模型上添加外键约束?,python,django,django-models,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

在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_会话表没有id列。我还尝试将
db\u column='session\u key'
(考虑到session\u key是django\u session表中的主键)参数添加到ForeignKey()函数中。我仍然得到同样的错误

任何帮助都将不胜感激。

试试看

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)
试一试


这解决了指定要引用的列的字段属性的问题

class UserSession(models.Model):
        user = models.ForeignKey(User,blank=True,null=True,default=None)
        session = models.ForeignKey(Session,to_field='session_key',related_name='+')

这解决了指定要引用的列的字段属性的问题

class UserSession(models.Model):
        user = models.ForeignKey(User,blank=True,null=True,default=None)
        session = models.ForeignKey(Session,to_field='session_key',related_name='+')

这与数据库的排序有关。您需要确保数据库的排序规则与字段的排序规则相同。这与数据库的排序规则有关。您需要确保数据库的排序规则与字段的排序规则相同。谢谢您的回答。但它给出了相同的整数错误。谢谢你的回答。但它给出了相同的积分误差。