Python django 1.7如何在django会话模型上添加外键约束?
在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.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='+')
这与数据库的排序有关。您需要确保数据库的排序规则与字段的排序规则相同。这与数据库的排序规则有关。您需要确保数据库的排序规则与字段的排序规则相同。谢谢您的回答。但它给出了相同的整数错误。谢谢你的回答。但它给出了相同的积分误差。