Форум сайта python.su
Нужно получить id модели.
views.py:
item = order.item.values('distr').annotate(summ = Sum('total')).values('distr__name', 'summ', 'distr__id') for it in item: d = it['distr__id']
{% for item in item %} {% for d in d %} {{ d }} {% endfor %} {% endfor %}
Офлайн
hulygunВас ничего тут не настораживает?
{% for item in item %}
Офлайн
FishHookТо что одинаковые названия? Да я и с разными пробовал, один и тот же результат.
Вас ничего тут не настораживает?
[{'distr__id': 1, 'summ': 40, 'distr__name': u'name1'}, {'distr__id': 2, 'summ': 1400, 'distr__name': u'name2'}]
Отредактировано hulygun (Дек. 3, 2012 08:41:44)
Офлайн
{% for dictionary in item %}
{% for key, value in dictionary.items %}
{{ key }} = {{ value }}
{% endfor %}
{% endfor %}
Офлайн
Да мне не в шаблоне нужно вывести, а во вьюхе получить значение.
Офлайн
Покажи модели и объясни, что нужно получить
Офлайн
models.py:
class Distr(models.Model): name = models.CharField(max_length=20, verbose_name="Поставщик") class Place(models.Model): place = models.CharField(max_length=255, verbose_name="Местоположение") class Dostav(models.Model): distr = models.ForeignKey(Distr) place = models.ForeignKey(Place) min_sum = models.IntegerField(max_length=10, verbose_name="Минимальная сумма заказа") class Item(models.Model): name = models.CharField(max_length=50, verbose_name="Название") class Zakaz(models.Model): item = models.ForeignKey(Item, verbose_name="Товар") distr = models.ForeignKey(Distr, editable=False) total = models.IntegerField(max_length=20, editable=False) class Order(models.Model): item = models.ManyToManyField(Zakaz, blank=True, verbose_name="Товар") class Profile(models.Model): user = models.ForeignKey(User, unique=True) place = models.ForeignKey(Place, blank=True, null=True)
profile = Profile.objects.filter(user = request.user) orders = Order.objects.filter(user = request.user, check = False) p_place = profile.values('place') dostavka = Dostav.objects.filter(place = p_place) for order in orders: item = order.item.values('distr').annotate(summ = Sum('total')).values('distr__name', 'summ', 'distr__id') for it in item: min_summ = dostavka.filter(distr = it['distr__id'])
Офлайн
min_summ = dostavka.filter(distr =Distr.objects.get(pk= it['distr__id']))
min_summ = dostavka.filter(distr__id = it['distr__id'])
Офлайн
Так в том то и проблема, у меня всегда
it['.distr__id'] = последний id в списке
{{ item }}
[{'distr__id': 1, 'summ': 40, 'distr__name': u'name1'}, {'distr__id': 2, 'summ': 1400, 'distr__name': u'name2'}]
{% for i in item %} {% for min in min_summ %}{{ min.min_summ }}{% endfor %}{% endfor %}
it['distr__id']
Офлайн
Запутал, то
hulygunтеперь ты опять шаблон показываешь
Да мне не в шаблоне нужно вывести, а во вьюхе получить значение.
hulygunВ item у тебя список словарей.
{% for i in item %} {% for min in min_summ %}{{ min.min_summ }}{% endfor %}{% endfor %}
Офлайн