【问题标题】:Using session key of django session as foreign key使用 django session 的 session key 作为外键
【发布时间】:2017-08-17 07:34:03
【问题描述】:

我在 django 中使用了 session,这导致在 mysql 中创建了表 'django_session'。我想将此表的 session_key 用作其他 mysql 表中的外键。我该怎么做??

【问题讨论】:

    标签: django session


    【解决方案1】:
    from django.contrib.sessions.models import Session
    
    class MyModel(models.Model):
        ...
        session = models.ForeignKey(Session, on_delete=models.SET_NULL, blank=True, null=True)
        ...
    

    稍后您可以从您的对象中获取感兴趣的会话密钥,如下所示:

    my_model_object.session.session_key
    

    【讨论】:

    • 你能说的详细点吗??我想将 session_key 与其他 mysql 表相关联,以便在删除 session_key 时自动删除所有其他表中的数据。
    • 默认情况下它会按照你想要的方式运行:docs.djangoproject.com/en/1.10/ref/models/fields/#foreignkey
    • 用户登录时表mymodel为空..而在django_session表中创建了一行
    • 当然是。当您需要相关数据时,您必须自己在那里创建行。
    • @AlexPavlenko on_delete 现在是必需的,请参阅我对答案的编辑。
    猜你喜欢
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    相关资源
    最近更新 更多