В 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