@pydjango
Django

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

1741 members

Архив канала @pydjango 7 февраля 2017 г.

09:00:43 ДП
User 239800743
серьезно? вы чтоб кейс инсенсетив лукап в базе сделать будете кверисет в лист переводить и квырять базу?
09:00:58 ДП
User 239800743
а чем __icontains не подходит?
09:01:21 ДП
User 211270198
User 239800743
а чем __icontains не подходит?
а весь диалог почитать?
09:02:47 ДП
User 239800743
долго =) уже увидел что советовали.
12:37:37 ПП
User 124340438
ни у кого не было проблем при использовании slugfield? задал в модели
slug = models.SlugField()
у объекта модели делаю
foo.slug('1-blablabla-2015') foo.save()
, однако в базе сохраняется вот так вот
1-2015
12:53:29 ПП
User 149595952
В методе сейв примени функцию slugify для твоего поля.
01:01:01 ПП
User 211270198
User 239800743
долго =) уже увидел что советовали.
Так его не советовали, его изначально использовали) Но он не работает с ютф в sqlite
01:10:18 ПП
User 124340438
User 149595952
В методе сейв примени функцию slugify для твоего поля.
ну так и делаю, однако в базу слова не идут, только цифры, если сделать
print(slugify("{}-{}-{}".format(self.id, self.title, self.year)))
то выводить норм, но в базе сейвится не так
    def save(self, *args, **kwargs):
        self.slug = slugify("{}-{}-{}".format(self.id, self.title, self.year))
        super(Foo, self).save(*args, **kwargs)
01:18:09 ПП
User 100243492
Значит тайтол не представляется
01:24:14 ПП
User 124340438
User 100243492
Значит тайтол не представляется
>>>foo = Foo.objects.get(id=16)
>>>foo.title
'Blablabla'
>>>foo.year
<Year: 2002>
>>>foo.save()
>>>foo.slug
'16-2002'
01:25:02 ПП
User 194990550
Так унификации нет
01:25:03 ПП
User 100243492
А попробуй дату приводить к строке
01:25:21 ПП
User 194990550
Можно еще в админке prepopulated
01:25:40 ПП
User 1874846
company.balance = F('balance') + transact.credit - transact.debit - summa
company.save()
message += u'Баланс: %s' % company.balance

ответ выводит:
Баланс: F(balance) + Value(412500.00) - Value(0.00) - Value(412500.00)

как мне получить валидные данные?
01:25:45 ПП
User 100243492
User 194990550
Можно еще в админке prepopulated
Ну это админка, а надо при сохранении
01:25:45 ПП
User 1874846
всем привет
01:26:09 ПП
User 194990550
А вообще проблем не было как-то, и чаще беру какую-нибудь автослаг
01:27:01 ПП
User 100243492
User 1874846
company.balance = F('balance') + transact.credit - transact.debit - summa
company.save()
message += u'Баланс: %s' % company.balance

ответ выводит:
Баланс: F(balance) + Value(412500.00) - Value(0.00) - Value(412500.00)

как мне получить валидные данные?
Кастани поле баланс к Decimal, или инт
01:27:35 ПП
User 1874846
User 100243492
Кастани поле баланс к Decimal, или инт
Decimal
01:28:26 ПП
User 124340438
User 100243492
А попробуй дату приводить к строке
>>>slugify("{}-{}-{}".format(foo.id, foo.title, str(foo.year)))
'16-blablabla-2002'
>>>foo.save()
>>>foo.slug
'16-2002
01:29:56 ПП
User 100243492
Такс, а вообще для чего черточками разбираешь?
01:30:06 ПП
User 100243492
Слигифай сам это делает
01:30:13 ПП
User 194990550
А если сохранить просто тайтл?
01:30:34 ПП
User 1874846
User 100243492
Кастани поле баланс к Decimal, или инт
conversion from CombinedExpression to Decimal is not supported
01:31:27 ПП
User 100243492
User 1874846
conversion from CombinedExpression to Decimal is not supported
Ну а а инту?
01:31:57 ПП
User 1874846
User 100243492
Ну а а инту?
тоже минус
01:32:09 ПП
User 124340438
User 194990550
А если сохранить просто тайтл?
сек
01:32:50 ПП
User 100243492
User 1874846
тоже минус
а в бд, что хранит?
01:33:02 ПП
User 1874846
тип данных decimal
01:33:32 ПП
User 100243492
покажи модельку, и скрин как оно сейвит
01:34:47 ПП
User 124340438
User 100243492
покажи модельку, и скрин как оно сейвит
убрал переопределения в сейве, вот как выходит в консоли
foo = Foo.objects.get(id=16)
foo.title
'Blablabla'
foo.slug = slugify(foo.title)
foo.slug
'blablabla'
foo.save()
foo.slug
'16-2002'
01:36:47 ПП
User 124340438
https://gist.github.com/Derik117/1dca8a3ef1ee857d5ec718bfca0d344f
gist.github.com/Derik117/1dca8a3ef1ee857d5ec718bfca0d344f
01:36:51 ПП
User 100243492
User 124340438
убрал переопределения в сейве, вот как выходит в консоли
foo = Foo.objects.get(id=16)
foo.title
'Blablabla'
foo.slug = slugify(foo.title)
foo.slug
'blablabla'
foo.save()
foo.slug
'16-2002'
вообще поразительно, откуда он берет эти данные, хотя подставляешь тайтол
01:38:00 ПП
User 1874846
User 100243492
покажи модельку, и скрин как оно сейвит
class Company(models.Model):
    date_add = models.DateTimeField(u'Дата создания', auto_now_add=True)
    INN = models.CharField(u'ИНН', max_length=9, unique=True)
    balance = models.DecimalField(u'Баланс', max_digits=15, decimal_places=2, default=0)

скрин чего?
message я использую как историю изменений, когда закончу добавление message, записываю как строку в textfield
01:46:23 ПП
User 1874846
message += u'Баланс: %s' % Company.objects.get(pk=company.pk).balance

cделал так, но не знаю на сколько это правильно
01:46:40 ПП
User 1874846
но работает
02:48:52 ПП
User 64253147
User 1874846
message += u'Баланс: %s' % Company.objects.get(pk=company.pk).balance

cделал так, но не знаю на сколько это правильно
А если такого pk в базе не будет ?
02:49:28 ПП
User 1874846
User 64253147
А если такого pk в базе не будет ?
Думаю это невозможная ситуация
02:50:00 ПП
User 64253147
User 1874846
Думаю это невозможная ситуация
Ещё как возможная
02:58:19 ПП
User 158695346
F() объект нельзя вот так плюсовать в выражении и надеятся, что он будет отображён в инт. Это указание для орма, что нужно в update подставить поле balance (а не считать выражение на стороне питона)
02:59:21 ПП
User 1874846
User 64253147
Ещё как возможная
Строками выше есть get_or_create
03:01:19 ПП
User 1874846
User 158695346
F() объект нельзя вот так плюсовать в выражении и надеятся, что он будет отображён в инт. Это указание для орма, что нужно в update подставить поле balance (а не считать выражение на стороне питона)
Ага... А как тогда правильно увеличить баланс и при этом получить число? Кроме связки filter update?
03:01:59 ПП
User 158695346
а просто obj.balance = obj.balance + ...? F объект хорош, когда нужно несколько объектов обновлять
03:03:07 ПП
User 1874846
User 158695346
а просто obj.balance = obj.balance + ...? F объект хорош, когда нужно несколько объектов обновлять
Попробую, но на сколько помню так не сработало, из за этого сделал через f()
03:07:51 ПП
User 158695346
User 1874846
Попробую, но на сколько помню так не сработало, из за этого сделал через f()
Очень странно, чего бы ему не работать, тривиальный же код.
03:45:57 ПП
User 158695346
User 1874846
Попробую, но на сколько помню так не сработало, из за этого сделал через f()
На самом деле, лучше через f объект, иначе можно нарваться на race condition. А потом запросить из базы новый объект, pk же 
у вас уже есть.
03:53:01 ПП
User 1874846
User 158695346
На самом деле, лучше через f объект, иначе можно нарваться на race condition. А потом запросить из базы новый объект, pk же 
у вас уже есть.
Сейчас так и сделал) спасибо)
03:55:19 ПП
User 158695346
User 1874846
Сейчас так и сделал) спасибо)
Вам спасибо, я не знал, что Ф можно присваивать прямо в поле модели, а не в .update подсовывать в аргументы. Вроде бы в мануале такое не рассматривается.
04:36:40 ПП
User 259351413
Подскажите, как при выводе в table render изменить формат вывода даты
04:37:19 ПП
User 259351413
то есть я описываю в models поле с датой из БД, но при его выводе необходим формат dd/mm/YYYY
04:43:42 ПП
User 254082535
Возможно стоит в БД изначально описывать как нужно?
04:49:21 ПП
User 107485588
User 259351413
то есть я описываю в models поле с датой из БД, но при его выводе необходим формат dd/mm/YYYY
https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior
04:51:08 ПП
User 254082535
Думаю, тут не отделаться простым .date()
Если из модели он принимает datetime, то ему придётся конвертить ВСЕ значения кверисета.
04:52:21 ПП
User 254082535
Ну, то есть, конвертить, но проходить по всем значениям. Имхо, кривизна та ещё.
04:54:29 ПП
User 107485588
а если в базе формат задавать, то не будет проходить по всем значениям?
04:55:25 ПП
User 254082535
А я просто вангую, что он определил Datetime поле, а хочет Date вывод.
04:59:36 ПП
User 259351413
User 254082535
А я просто вангую, что он определил Datetime поле, а хочет Date вывод.
поле Date, определено как DateField
04:59:50 ПП
User 259351413
User 254082535
Возможно стоит в БД изначально описывать как нужно?
невозможно, так как управляю БД не я и изменять никто не будет
05:00:31 ПП
User 259351413
через render_FOO ?
05:00:35 ПП
User 254082535
В таком случае, вам в settings, там можно указать форматы дат.
05:01:05 ПП
User 259351413
User 254082535
В таком случае, вам в settings, там можно указать форматы дат.
?
05:01:20 ПП
User 254082535
Если поле Date, то и выведет оно дату. Формат можно задать в settings.py
05:02:54 ПП
User 113141362
Зачем формат задавать
05:02:55 ПП
05:03:13 ПП
User 113141362
Браузер ведь сам формат сделать может
05:03:19 ПП
User 254082535
User 259351413
?
https://docs.djangoproject.com/en/1.10/ref/settings/#date-format
05:03:48 ПП
User 113141362
Не важно какая запись в БД была
05:04:12 ПП
User 113141362
Отображение будет под язык браузера
05:04:18 ПП
User 259351413
User 113141362
Зачем формат задавать
потому что в требованиях есть строгий формат вывода
05:04:49 ПП
User 113141362
Js поможет
05:05:32 ПП
User 259351413
User 113141362
Js поможет
django_table2 use
05:05:41 ПП
User 113141362
Понятно
05:06:36 ПП
User 113141362
Просто будет плохо сделать один формат
05:06:53 ПП
User 259351413
User 113141362
Просто будет плохо сделать один формат
требования, там всем по болту
05:06:59 ПП
User 113141362
В штатах ведь свой форма
05:07:17 ПП
User 113141362
Писец
05:08:13 ПП
User 1874846
User 259351413
потому что в требованиях есть строгий формат вывода
если вы выводите дату в шаблонах, типа:
{{ model.datefield }}
то можно
{{ model.datefield:date 'd/m/Y' }}
05:08:26 ПП
User 259351413
сделал через render_FOO
05:09:13 ПП
User 254082535
А чем не подошёл вариант глобальной настройки формата для всего проекта?
07:06:36 ПП
User 259351413
User 254082535
А чем не подошёл вариант глобальной настройки формата для всего проекта?
время на разобраться не было, отдать нужно было.