【发布时间】:2017-10-28 11:01:08
【问题描述】:
我想在 django 中创建数据库模型并定义一个外键。我在网上看到的所有例子都有以下语法。
attr = models.ForeignKey(Entity)
但是我希望外键与另一个实体的单个属性链接,而不是整个实体。
我有以下型号:
class User(models.Model):
user_id = models.PositiveIntegerField(primary_key=True)
password = models.CharField(max_length=20)
email = models.EmailField()
........
class ContentItem(models.Model):
content_id = models.PositiveIntegerField(primary_key=True)
title = models.CharField(max_length=100)
description = models.TextField()
.........
author_id = models.ForeignKey(User, on_delete= models.CASCADE)
在这里,我希望 ContentItem.author_id 成为 User.user_id 而不是整个 User 模型的外键。在为 author_id 输入值时,我只想输入普通 id (1,2,3) 而不是 User 的所有实例
对不起,如果问题很笼统,提前致谢
【问题讨论】:
-
这没有意义。外键是链接表中项目的 ID。显然,遵循这种关系会给你整个相关的对象——你为什么不想要呢?
标签: python django database sqlite django-models