Не знаю, нужен ли вам пример, это довольно просто:
- если вы знаете, что это один объект, соответствующий вашему запросу, используйте get. Он потерпит неудачу, если его больше одного.
- в противном случае используйте фильтр, который выдает список объектов.
Чтобы быть более точным:
MyTable.objects.get(id=x).whatever
дает вам свойство whatever
вашего объекта.
get () повышает MultipleObjectsReturned, если найдено более одного объекта.
Исключение MultipleObjectsReturned является атрибутом модели
класс.
get () вызывает исключение DoesNotExist, если объект не был найден для
заданные параметры. Это исключение также является атрибутом класса модели.
MyTable.objects.filter(somecolumn=x)
не только можно использовать в качестве списка, но вы также можете запросить его снова, что-то вроде MyTable.objects.filter(somecolumn=x).order_by('date')
.
- Причина в том, что на самом деле это не список, а объект запроса. Вы можете перебирать его как список:
for obj in MyTable.objects.filter(somecolumn=x)