Запрос к базе данных только по определенному столбцу django ORM
Я новичок в Django и не смог найти ответ, который искал, так что потерпите меня
У меня есть класс модели под названием bid в приложении аукциона, который хранит все ставки, сделанные на все товары:
class Bid(models.Model):
title = models.CharField(max_length=64, blank=True)
date_time = models.DateTimeField(default=timezone.now, blank=True)
price = models.DecimalField(max_digits=4, decimal_places=2)
user = models.CharField(max_length=64)
Теперь я хочу запросить эту таблицу и получить от нее ВСЕ цены предложения, которые были выставлены на определенный товар, у меня есть такая строка:
bids = Bid.objects.all().filter(title=title)
что возвращает все объекты с таким названием, но меня не интересуют другие столбцы этого объекта, мне нужны только цены
это немного глупо, но я попробовал:
bids = bids.price
Конечно, это не сработало
Я просмотрел ваш вопрос и, насколько я понимаю, вам нужно получить только цены, основанные на названии предложения. Если это сценарий, то вы можете получить его таким образом:
bids = Bid.objects.all().filter(title=title).values_list("price", flat = True)
I hope this helps you. Please respond to this message if your having any difficulty fetching.
Спасибо, С уважением.
Для получения всех цен необходимо использовать цикл. Например, так:
bids = Bid.objects.filter(title=title)
for bid in bids:
print(bid.price)
Это происходит потому, что запрос фильтра возвращает список, и если вы хотите получить цену каждого предложения, вам нужно зациклить каждый объект, входящий в запрос фильтра.
Вы можете просмотреть документацию здесь: https://docs.djangoproject.com/en/4.1/topics/db/queries/#retrieving-specific-objects-with-filters