Utilisez le to_field
et db_column
options.
class B(models.Model):
name = models.ForeignKey(A, to_field="name", db_column="name")
Une fois que vous avez créé la clé étrangère, vous pouvez accéder à la valeur et à l'instance associée comme suit :
>>> b = B.objects.get(id=1)
>>> b.name_id # the value stored in the 'name' database column
>>> b.name # the related 'A' instance