Я хочу получить номер товара в наборе запросов.От запроса к списку, это дорогостоящая операция?
В чистом питоне мы можем сделать это, чтобы найти номер элемента в списке:
a = 1
numbers = [1, 2, 3, 4]
numbers.index(a)
>>> 0
В Джанго querysets я немогу сделать это, но я могу сделать это:
# a - some instance of `model_name` model.
qs = model_name.objects.all()
model_name_objects = list(qs)
model_name_objects.index(a)
От запроса к списку, это дорогостоящая операция?
UPD: USECASE:
У меня есть две модели:
class Order(models.Model):
# some fields
class OrderItem(models.Model):
order = models.ForeignKey(Order, related_name='order_items')
Я хочу знать, какой номер имеет некоторый экземпляр OrderItem в Order.order_items.all() QuerySet.
UPD2:
Я хочу, чтобы отобразить этот номер в OrderItem админ поле:
class OrderItemAdmin(admin.ModelAdmin):
model = OrderItem
# some standart fields
list_display = ('display_item_number')
def display_item_number(self, obj):
b = obj.order.order_items.all().count()
return '{}/{}'.format(a, b)
Где a
это OrderItem номер экземпляра в Order.order_items.all() QuerySet.
Почему вы хотите найти индекс? Какая указка? –
@AshwiniChaudhary обновите вопрос с помощью usecase. – react
Ваш прецедент не показывает, что вы делаете с этим номером. Существует почти наверняка лучший способ сделать это. –