我对Django非常陌生。我想链接一个具有2个字段“用户名”和“密码”的模型。我想在另一个模型中将“用户名”字段设置为“外部”。但是根据Django,我们只能传递整个模型对象,后者被称为外键。
我在某个地方错了吗?请给我有关此基本问题的任何解决方案。
否,您可以链接到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
“双胞胎”字段来使用目标列值。数据库通常将强制执行参照完整性,因此将防止将不存在的值传递给外键列。