django 1.7, как добавить ограничение внешнего ключа в модель сессии django? - PullRequest
0 голосов
/ 16 мая 2018

В 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 неесть столбец идентификатора.Я также попытался добавить db_column='session_key' (учитывая, что session_key является первичным ключом в таблице django_session) в функцию ForeignKey ().Я все еще получаю ту же ошибку.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Это решило проблему с атрибутом 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='+')
0 голосов
/ 16 мая 2018

Попробуйте

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)
...