Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Nicht-primäre Fremdschlüssel in Django

Verwenden Sie den to_field und db_column Optionen.

class B(models.Model):
    name = models.ForeignKey(A, to_field="name", db_column="name")

Nachdem Sie den Fremdschlüssel erstellt haben, können Sie wie folgt auf den Wert und die zugehörige Instanz zugreifen:

>>> b = B.objects.get(id=1)
>>> b.name_id # the value stored in the 'name' database column
>>> b.name # the related 'A' instance