
Viktor
09.03.2016
03:49:04
Не, норм :)
тогда почему никто не назвал конкретные капли?..

Ilya
09.03.2016
03:49:33
Я не использовал
@id876974 может про свои расскажет :)

[Anonymous]
09.03.2016
03:51:14
Я пользовался лишь Слезином, и Натуральная слеза, вторые мне давали лучший эффект.

Google

[Anonymous]
09.03.2016
03:51:54
Первые после короткого вреемни давали обратный эффект,

Ilya
09.03.2016
03:52:19
да, тут вероятно правильнее посмотреть доступные варианты, немного погрепать отзывы, а потом взять 2-5 вариантов и проверить, какие лучше тебе канают

Viktor
09.03.2016
03:52:36
"Натуральная слеза" это название капель?
лол

[Anonymous]
09.03.2016
03:52:44

Ilya
09.03.2016
03:52:47
«Обычный порошок»

[Anonymous]
09.03.2016
03:53:14
http://eyeshelp.ru/drugs/natural_sleza/

Viktor
09.03.2016
03:53:18
у отца были какие-то, год назад где-то
они неплохо помогали, но то вроде не просто слезы были

Ilya
09.03.2016
03:54:25
я подредактил уже :)

Viktor
09.03.2016
03:54:27
отец уже не помнит, как и я
«"

Google

Ilya
09.03.2016
03:54:55
у тебя не обновилось :)
у макоськи до апдейта клиент не умел

Viktor
09.03.2016
03:56:45
у меня айфон
«Обычный порошок»
долго думал что не так
это 9 иос

Ilya
09.03.2016
04:00:03
хмхм, а у тебя?

Denis 災 nobody
09.03.2016
08:02:36

Viktor
09.03.2016
08:52:27

Vlad
09.03.2016
11:09:51
Всем привет. Подскажите как лучше сделать есть два объекта (студенты и группа) нужно вывести количество человек в каждой группе

Pavel
09.03.2016
11:10:17

Ilya
09.03.2016
11:10:21
угу
спроси старост

Vlad
09.03.2016
11:10:41
В бд. Фреймворк джанги

Ilya
09.03.2016
11:10:54
они как связаны то?

Vlad
09.03.2016
11:11:05
Да

Pavel
09.03.2016
11:11:20
спроси старост
я когда старостой был, о количестве народу в группе имел предаставление плюс-минус 20%.

Ilya
09.03.2016
11:11:29
нене, у тебя же список был

parikLS
09.03.2016
11:11:46
select group_id, count(*) from students, group
where students.group_id = group.id
group by group id

Google

Pavel
09.03.2016
11:12:05

parikLS
09.03.2016
11:12:15
ну а в ОРМ пусть уже переведет)))

Aragaer
09.03.2016
11:12:19
ээээ
ну from students понятно, но зачем ", group"

Alexandr
09.03.2016
11:12:37

Kolyann
09.03.2016
11:12:39
ах ты

Aragaer
09.03.2016
11:12:59
соответственно where тоже не нужно

parikLS
09.03.2016
11:13:00
таки да, точку забыл
сто процентов

Pavel
09.03.2016
11:14:12
примерно как-то так Group.objects.annotate(num_studs=Count('student'))

Vlad
09.03.2016
11:16:06
можно и так Student.objects.filter(group=group).count() но дело в том как вывести в шаблоне.

Pavel
09.03.2016
11:16:29
тебе для одной группы, или для всех сразу?

Vlad
09.03.2016
11:16:41
для каждой группы надо вывести

Pavel
09.03.2016
11:17:12
тогда мой вариант, если нигде не сбился, пока по памяти писал.
ну ещё в доку уточнить, там есть примеры возле annotate() и Count().

Vlad
09.03.2016
11:18:58
извините не правильно объяснил. проблема в шаблоне. вывожу все так сейчас
{% for group1 in groups %}
<tr>
<td>{{ forloop.counter }}</td>
<td class="first">{{ group1.name_groups }}</td>
<td class="tdfunc">{{ group1.name_groups }}</td>
<td class="tdfunc">{{ group1.name_groups }}</td>
<td class="tdfunc">{{ group1.captain.student.full_name }}</td>
<td><a href="{{ group1.id }}" class="glyphicon glyphicon-plus btn btn-success">Удалить</a></td>
<td></td>
</tr>
{% endfor %}

Pavel
09.03.2016
11:21:25
А в чём проблема-то?

Vlad
09.03.2016
11:22:51
класс вот такой
class GroupsListView(ListView):
model = Group
template_name = 'group_list.html'
fields = '__all__'
context_object_name = 'groups'
def get_context_data(self, **kwargs):
context = super(GroupsListView, self).get_context_data(**kwargs)
groups = Group.objects.all()
context['groups'] = {}
for group in groups:
context['groups'][group]=Student.objects.filter(group=group).count()
return context
не могу вывести конкретно количество студентов в группе

Pavel
09.03.2016
11:24:49
groups = Group.objects.annotate(num_stud=Count('student'))
, а в шаблоне {{group1.num_stud}}

Google

Pavel
09.03.2016
11:27:05
но лучше это перенести в get_queryset().

Vlad
09.03.2016
11:27:34
спасибо. это помогло. сейчас почитаю что это такое анотейт

Pavel
09.03.2016
11:31:25
да, только это делает база данных и быстро, а в форе ты считаешь сам, и с дополниельными запросами.

Vlad
09.03.2016
11:31:51
спасибо))

Pavel
09.03.2016
11:32:41
ну и про get_queryset() подумай, там этому самое место.

Admin
ERROR: S client not available

Whore Amazing
09.03.2016
11:48:13
о, еще один джангист неопытный
пожалуй, вкачусь с вопросом, как изменить тип поля для ModelForm
не виджета, а поля

Pavel
09.03.2016
11:49:00
прописать поле с таким же именем, как в модели?

Whore Amazing
09.03.2016
11:49:49
логично, черт побери
а формсет, который имена генерит для форм, не сломает ничего?

Pavel
09.03.2016
11:50:25
неа. он так и так сделает поле с таким именем, разнциа только - он сам придумает, что в поле пихать, или ты сам ему подскажешь.

Whore Amazing
09.03.2016
11:50:41
ясно. благодарю.
хм. очевидно, я весьма криворук, если функция плюется на количество аргументов даже при использовании *args. так вообще бывает?

Pavel
09.03.2016
12:04:43

Whore Amazing
09.03.2016
12:04:53
нет, позиционные.
в том и соль.

Pavel
09.03.2016
12:08:22
пишет что слишком много или слишком мало?

Whore Amazing
09.03.2016
12:08:30
слишком много.
причем в объявлении с (self, *args) все в порядке. а в вызове super с (self, *args) валится.

Viktor
09.03.2016
12:13:35

Google

Whore Amazing
09.03.2016
12:13:53
мне не ясен. просвети.

Viktor
09.03.2016
12:14:05
как вызываешь?

Pavel
09.03.2016
12:14:18
super().c(*args) self не нужен.

Viktor
09.03.2016
12:14:37
super().__init__(*args)?

Whore Amazing
09.03.2016
12:14:43

Pavel
09.03.2016
12:15:11

Whore Amazing
09.03.2016
12:15:37
нет-нет, все заработало, спасибо

Viktor
09.03.2016
12:15:38
superself)

Pavel
09.03.2016
12:19:47
>>> class Parent():
... def func(self, *a):
... print('Parent', a)
...
>>> class Child(Parent):
... def func(self, *a):
... print('Child', a)
... super().func(*a)
...
>>> c = Child()
>>> c.func(1,2,3)
Child (1, 2, 3)
Parent (1, 2, 3)
ну и заканчивая ликбез про super(), множественное наследование работает так:
>>> class P1():
... def f(self):
... print('p1')
...
>>> class P2():
... def f(self):
... print('p2')
...
>>> class C1(P1, P2):
... def f(self):
... print('c1')
... super().f()
...
>>> class C2(P2, P1):
... def f(self):
... print('c2')
... super().f()
...
>>>
>>>
>>> C1().f()
c1
p1
>>> C2().f()
c2
p2

Kolyann
09.03.2016
12:27:08
супер!

terry
09.03.2016
12:43:47
гайз, доп опции группы открываются только после 200 рыл ?

Kolyann
09.03.2016
12:44:24
угу
но их можно потестить и на каналах

Anton
09.03.2016
12:55:41
Не совсем так
Есть лайф хак и супергруппу можно сделать и при 4 людях