Django ForeignModels - PullRequest
       0

Django ForeignModels

1 голос
/ 28 апреля 2010

Как получить / установить поля внешнего ключа на объекте модели, не касаясь базы данных и не загружая связанный объект?

Ответы [ 2 ]

1 голос
/ 28 апреля 2010

Django фактически добавляет '_id' к именам полей ForeignKey, и с помощью 'field_name_id' вы можете получить или установить целочисленное значение id напрямую:

class MyModel(models.Model):
    field = models.ForeignKey(MyOtherModel)

mymodel_instance = MyModel.objects.get(pk=1)
# queries database for related object and the result is a MyOtherModel instance
print mymodel_instance.field
# result is simply the integer id value, does not do any query
print mymodel_instance.field_id
0 голосов
/ 28 апреля 2010

. Вы можете использовать .select_related () для загрузки связанных моделей как части начального запроса. Затем вы можете получить / установить свойства без попадания в базу данных.

Помните, что для сохранения чего-либо вам понадобится попасть в базу данных.

Для получения подробной информации о том, как его использовать, попробуйте документацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...