#django #django-models #django-orm
Вопрос:
Допустим, у меня есть следующие две модели:
class User(Model):
email = models.EmailField(unique=True)
class Post(Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
Теперь предположим, что у меня есть адрес электронной почты пользователя, и я хочу указать этого пользователя в качестве автора поста. Я мог бы сделать это вот так:
post = Post()
# Just get the ID to avoid having to load a whole model
post.author_id = User.objects.values_list('pk', flat=True).get(email=user_email_address)
post.save()
Однако это приводит к двум запросам: один для получения пользователя и один для сохранения сообщения. Я хотел бы знать, есть ли способ сделать это в одном запросе.
Я не хочу ничего менять to_field
в ForeignKey
этом .
Комментарии:
1. Нет, на данный момент это невозможно.