簡體   English   中英

django 1.7如何在django會話模型上添加外鍵約束?

[英]django 1.7 how to add foreign key constraint on django session model?

在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()函數。 我仍然遇到相同的錯誤。

任何幫助將不勝感激。

嘗試

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)

這解決了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='+')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM