簡體   English   中英

如何在 django 中將用戶名作為另一個 model 的外鍵

[英]How to make a username as a foreign key of another model in django

我對 Django 很陌生。 我想鏈接一個 model,它有 2 個字段“用戶名”和“密碼”。 我想在另一個 model 中將“用戶名”字段設置為 Foreign。 但是按照 Django 我們只能傳遞整個 Model Object,指的是它的外鍵。

我在某個地方錯了嗎? 請給我關於這個基本問題的任何解決方案。

不,您可以鏈接到 Django model 的任何唯一字段。 因此,如果您的模型看起來像:

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 object 本身。 您可以使用…_id "twin" 字段來使用目標列值。 數據庫通常會強制執行參照完整性,因此會阻止將不存在的值傳遞給外鍵列。

暫無
暫無

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

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