@pydjango
Django

Полезная информация и правила: https://github.com/amureki/django_faq Вакансии и резюме: @django_jobs Пофлудить идём сюда: @django_flood Статистика чата: combot.org/chat/-1001063854692

1741 members

Архив канала @pydjango 3 марта 2017 г.

05:19:47 ДП
User 65746559
Ждем пропаганду ИГИЛ
06:14:00 ДП
07:24:35 ДП
User 207905056
Привет! подскажите, можно ли сделать поиск по @property модели в коробочной админке?
08:07:22 ДП
User 169404603
каждый раз, когда подходит время продлять домен http://djbook.ru я раздумываю...
08:16:09 ДП
User 281448461
перенести на docs.djangoproject.com сильно проблемно все наработки? там даже польский есть
08:18:17 ДП
User 169404603
и форум?
08:20:45 ДП
User 226624052
User 169404603
каждый раз, когда подходит время продлять домен http://djbook.ru я раздумываю...
Твой?
08:20:57 ДП
User 281448461
User 169404603
и форум?
еслиб не сказали яб и не нашел его
09:09:58 ДП
User 188335515
Добрый день, подскажите как заемнить
09:10:15 ДП
User 188335515
DialogStepRouting.objects.filter(chat_id=dialog_data['chat_id']).dialog_data['step']+1)
09:11:09 ДП
User 188335515
на DialogStepRouting.objects.next_step(dialog_data['chat_id'])
09:11:23 ДП
09:12:06 ДП
User 188335515
Да, как внем определить для какой записа делать инкремент?!
09:12:41 ДП
User 188335515
@staticmethod
    def next_step(chat_id):
        DialogStepRouting.objects.filter(chat_id=chat_id).update(step=F('step') + 1)
09:13:11 ДП
User 188335515
Сделал так, но мне кажется что полная хрень
09:15:48 ДП
User 188335515
так правильней:
    def next_step(self, chat_id):
        self.filter(chat_id=chat_id).update(step=F('step') + 1)
09:16:48 ДП
User 194990550
Не понятно структуру модельки и для чего и когда должен произойти инкремент.
09:19:07 ДП
User 188335515
`class DialogStepRouting(models.Model):
    chat_id = models.IntegerField(verbose_name="Идентификационный номер чата")
    command = models.CharField(max_length=80, verbose_name="Текущая комманда")
    step = models.IntegerField(verbose_name="Номер шага")
    # Adds  method
    objects = UserManager()

    def __unicode__(self):
        return 'Chat ID: %s; Command: %s; Step number: %s' % \
               (self.chat_id, self.command, self.step)

    class Meta:
        db_table = 'dialog_step_routing'
        verbose_name_plural = 'Диалоги с пользователями'`
09:19:28 ДП
User 188335515
`class UserManager(models.Manager):
    """
        Useful user db-methods
    """
    def random(self):
        count = self.aggregate(ids=Count('id'))['ids']
        random_index = randint(0, count - 1)
        return self.all()[random_index]

    def next_step(self, chat_id):
        self.filter(chat_id=chat_id).update(step=F('step') + 1)`
09:32:29 ДП
User 188335515
User 194990550
Не понятно структуру модельки и для чего и когда должен произойти инкремент.
Инкремент долже во view произойти при
DialogStepRouting.objects.next_step(dialog_data['step'])
02:54:09 ПП
User 82569033
Гайс, имею пару простых вьюх, считай указываю только класс от чего наследоваться, модель и шаблон. Такие же вьюхи тестами не покрываются?
03:01:20 ПП
User 18500084
Можно тестить, отдают ли они 200
03:01:32 ПП
User 18500084
И верный ли шаблон :)
03:02:58 ПП
User 82569033
И это касается всех классовых вьюх? Можно практически забить на тесты?
03:03:34 ПП
User 18500084
ну тесты вообще такая штука, что на них забивают
03:04:05 ПП
User 194990550
ну хз, люблю писать тесты:)
03:04:12 ПП
User 18500084
но вообще, вьюхи тоже тестируются
03:04:30 ПП
User 18500084
проверяется, рабочие ли они, отдают ли нужный контекст
03:04:48 ПП
User 18500084
(все что тобой сделано)
03:16:20 ПП
User 157925430
да, хороший вопрос. насколько много нужно тестов?
03:29:13 ПП
User 281448461
насколько хватит терпения их писать
03:30:22 ПП
User 194990550
coverage подключи и сможешь узнать на сколько процентов и что именно покрыто тестами :)
03:33:13 ПП
User 281448461
онож в pycharm даже всроено
 хоть и медлено но удобно сразу видеть что покрылось
04:12:19 ПП
User 324213714
User 281448461
онож в pycharm даже всроено
 хоть и медлено но удобно сразу видеть что покрылось
Из консолм коверадж репорт можно запускать с указанием сделать html репорт, потом сразу открываешь его браузером и там всё кликабельно и подсвечены места в коде, которые не покрыты тестами
04:14:49 ПП
User 324213714
Т.е. тоже можно получить такую штуку и без пайчарма, если не хочется его юзать или это останавливает от перехода на другое ide / редактор ;)
04:16:39 ПП
User 281448461
это есесено есть
но надо лезть потом в браузере, 
а тут оно все под рукой
04:25:20 ПП
User 324213714
Ну как лезть можно просто в команду запуска тестов закинуть питоновский опен урл ин браузер и тогда запустил тесты, в конце автоматом открылся броузер с итогом этого теста