如何在django中将用户名作为另一个模型的外键

问题描述 投票:0回答:1

我对Django非常陌生。我想链接一个具有2个字段“用户名”和“密码”的模型。我想在另一个模型中将“用户名”字段设置为“外部”。但是根据Django,我们只能传递整个模型对象,后者被称为外键。

我在某个地方错了吗?请给我有关此基本问题的任何解决方案。

python django
1个回答
0
投票

否,您可以链接到Django模型的任何unique字段。因此,如果您的模型看起来像:

class Target(models.Model):
    name = models.CharField(max_length=128, unique=True)

class SourceModel(models.Model):
    target = models.ForeignKey(Target, to_field='name', on_delete=models.CASCADE)

然后您可以将目标列的值分配给target_id。因此,例如:

Target.objects.create(name='target1')
SourceModel.objects.create(target_id='target1')

因此您不需要传递Target对象本身。您可以使用…_id“双胞胎”字段来使用目标列值。数据库通常将强制执行参照完整性,因此将防止将不存在的值传递给外键列。

© www.soinside.com 2019 - 2024. All rights reserved.