Запрос к базе данных только по определенному столбцу 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

Вернуться на верх