Модель Django имеет поле ManyToMany, как получить все идентификаторы без извлечения объектов?Python

Программы на Python
Ответить
Anonymous
 Модель Django имеет поле ManyToMany, как получить все идентификаторы без извлечения объектов?

Сообщение Anonymous »

У меня есть такая структура данных:

Код: Выделить всё

class Pizza(models.Model):
name = models.CharField(max_length=100)
toppings = models.ManyToManyField(Topping, related_name="pizzas")

class Topping(models.Model):
name = models.CharField(max_length=100)
А чтобы получить все идентификаторы топпинга, связанные с пиццей, я могу сделать это:

Код: Выделить всё

list(map(lambda t: t.id, pizza.toppings.all()))
Но это полностью извлекает все начинки из базы данных, хотя мне нужны только идентификаторы. Есть ли способ получить идентификаторы без извлечения целых объектов (из соображений производительности)?


Подробнее здесь: https://stackoverflow.com/questions/792 ... -the-objec
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»