Найти - Пользователи
Полная версия: Модели, выборка части результатов для части модели.
Начало » Django » Модели, выборка части результатов для части модели.
1
ex
class Groups(models.Model):
r = models.IntegerField(max_length=11, primary_key=True)
rh = models.IntegerField(max_length=11)
rp = models.IntegerField(max_length=11)
types = models.IntegerField(max_length=2)
name = models.CharField(max_length=50)
status = models.IntegerField(max_length=1)

def get_name(self):
return '%s' % self.name

def __unicode__(self):
return '%d %s' % (self.r, self.name)
Хочется получить список груп по определенному фильтру, для чего делаю
groups = Groups.objects.all().filter(rh = 1)
и получаю строчками что нужно. Но оно же не приемлемо и нужены списки.
Т.е. хочется что то в духе
def get_groups_id_name(self):
group = (self.r, self.name)
return group
Но для выше описанное не применить для получения списка т.к. с этим методом класса сможет работать только object.get() а он возвращает только одно значение или ексцепшен :(
Как получить, то что хочется?
Александр Кошелев
ex
Как получить, то что хочется?
Откровенно говоря, что вам хочется совсем не понятно.
ex
Но оно же не приемлемо и нужены списки.
Зачем вам списки?
ex
Но для выше описанное не применить для получения списка т.к. с этим методом класса сможет работать только object.get()
Что вам мешает вызывать этот метод у объектов списка, который вернул фильтр?
ex
Daevaorn
ex
Но для выше описанное не применить для получения списка т.к. с этим методом класса сможет работать только object.get()
Что вам мешает вызывать этот метод у объектов списка, который вернул фильтр?
Допусти записей в таблице 100 мульенов, не хочется для такой выборки иметь 10-ти этажное здание под планки RAM. Шуткую конечно, просто хочется выборку списка груп решать одним запросом.

Daevaorn
ex
Как получить, то что хочется?
Откровенно говоря, что вам хочется совсем не понятно.
ex
Но оно же не приемлемо и нужены списки.
Зачем вам списки?
Хочется белого и мягкого. Списки для удобства дальнейшего отфуболивания на вывод в темплейт, а не разбивания строки “126572 Моя группа для ча-ча-ча с планетарными спутниками Юпитера”

Впринципе мне хватило решения проблемы самописным запросом к базе, но хотелось бы решить эту задачу не выходя за рамки ORM.
Александр Кошелев
До сих пор не понимаю, чего вы хотите. Лучше бы вместе ребячества описали задачу конкретнее.

Чем вам не подходит такой способ?
groups = Groups.objects.all().filter(rh=1)
for group in groups:
print group.r, group.name
Можно ещё only/defer использовать для ограничения полей.

Зачем вам какие-то списки? Почему в шаблон вы не хотите передавать объекты?
Norecces
groups.object.all().filter().values_list()
ex
Norecces
groups.object.all().filter().values_list()
Премного благодарен
ex
Daevaorn
До сих пор не понимаю, чего вы хотите. Лучше бы вместе ребячества описали задачу конкретнее.

Чем вам не подходит такой способ?
groups = Groups.objects.all().filter(rh=1)
for group in groups:
print group.r, group.name
Можно ещё only/defer использовать для ограничения полей.

Зачем вам какие-то списки? Почему в шаблон вы не хотите передавать объекты?
Вы меня не понимаете потому, что знаете больше и для Вас оно очевидно :)
Ответ я таки получил
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB