В django, если я устанавливаю поле в модели для внешнего ключа, к имени этого поля добавляется "_id". Как это можно предотвратить?
Предотвращение django из добавления "_id" в поле внешнего ключа
Ответ 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