Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Функция работает не правильно , помогите разобраться в чем причина. [RSS Feed]

#1 Июнь 11, 2013 18:13:10

Jeck290
От:
Зарегистрирован: 2010-01-03
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция работает не правильно , помогите разобраться в чем причина.

Есть таблица у которой есть лицевые счета вида 21345 , функция должна подсчитать количество повторов каждого лицевого счета в таблице

Countec = traide_ticket.objects.values('lict').annotate(count=Count('id'))
на выходе должно быть словарь
 [{'count': 2, 'lict': u'24047'}, {'count': 3, 'lict': u'88888'}]
повторение и лицевой счет
но функция не работает так как нужно на выходе получается вот такое безобразие
 [{'count': 1, 'lict': u'24047'},{'count': 1, 'lict': u'24047'}, {'count': 1, 'lict': u'88888'},{'count': 1, 'lict': u'88888'},{'count': 1, 'lict': u'88888'}]
Поясню, на боевом сервере есть точно такая функция она работает без проблем , но в переписанном проекте точна такая функция выдает вот такую несуразицу. Помогите, почему не работает Count ( from django.db.models import Count ) версия джанго 1.4.5

чтобы не съедало форматирование
[code][/code][/code]



Отредактировано FishHook (Июнь 12, 2013 17:01:01)

Офлайн

#2 Июнь 14, 2013 17:51:19

romankrv
От:
Зарегистрирован: 2008-05-23
Сообщения: 513
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция работает не правильно , помогите разобраться в чем причина.

Офлайн

#3 Июнь 15, 2013 09:03:32

Jeck290
От:
Зарегистрирован: 2010-01-03
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

Функция работает не правильно , помогите разобраться в чем причина.

Спасибо, но решил что эта функция избыточна переделал ее вот так

def ticket_all(request):
    abondata = traide_ticket.objects.filter(arh__icontains=0)
    abondata2 = traide_ticket.objects.filter(arh__icontains=1)
    colish = traide_ticket.objects.filter(arh__icontains=0).count()
    datanotes = notes.objects.all()
    slovarik = []
    for lines in abondata:
        for line in abondata2:
            if line.lict == lines.lict:
                if not lines.lict in slovarik:
                    slovarik.append(lines.lict)
                break
    return direct_to_template(request, 'ticket.html',
                              {'abondata': abondata, 'colish': colish, 'datanotes': datanotes,'slovarik':slovarik})
теперь за место количества заявок показывается метка что есть повторяющееся записи лицевого счета , впринципе этого достаточно.



Офлайн

  • Начало
  • » Django
  • » Функция работает не правильно , помогите разобраться в чем причина. [RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version