Запрет django от добавления "_id" в поле внешнего ключа - PullRequest
28 голосов
/ 22 ноября 2011

В django, если я устанавливаю поле в модели в качестве внешнего ключа, к имени этого поля добавляется "_id". Как это можно предотвратить?

Ответы [ 2 ]

31 голосов
/ 22 ноября 2011

Вы можете установить атрибут поля db_column на любое значение.

2 голосов
/ 22 ноября 2011

При использовании внешнего поля в модели Django создает два поля: одно для фактической ссылки, а другое ссылается на другую модель.

class A(Model):
    i = IntegerField()

class B(Model):
    a = ForeignKey(A)

В B теперь есть два поля:a и a_id.a_id - это уникальный идентификатор, хранящийся в базе данных, а a может использоваться для прямого доступа к полям в A, например:

b = B.objects.get(...)
b.a.i = 5;   # Set the field of A
b.a.save()   # Save A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...