Я только начал изучать Django, и одна вещь в моделях об ForeignKey была мне неясна. Допустим, у меня есть одна модель, подобная этой:
class Webpage(models.Model):
name = models.CharField(max_length=264, unique=True)
url = models.URLField(unique=True)
name2 = models.CharField(max_length=264, unique=True)
class Records(models.Model):
site = models.ForeignKey(Webpage)
Так что при создании записи записей для тестирования я вижу, что ForeignKey ссылается на поле Имя веб-страницы. Мое замешательство, почему именно имя? Как я знаю, ForeignKey ссылается на первичный ключ, и если вы не даете атрибуту primary_key для каких-либо полей, он создаст поле 'id' и сделает его первичным ключом. Тогда почему бы не поле «id», а «name».
Извините, если это повторный вопрос, я просто не смог найти ответ.