Подтвердить что ты не робот

Предотвращение django из добавления "_id" в поле внешнего ключа

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

4b9b3361

Ответ 1

Вы можете установить поле db_column атрибут, который вы хотите.

Ответ 2

При использовании внешнего поля в модели 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