[英]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.