Представление повторяющихся дат

В настоящее время вы застреваете, перебирая экземпляры и обновляя их по одному. Тем не менее, Django 2.2 представит bulk_update() , который будет делать то, что вы хотите.

6
задан alumb 11 November 2009 в 00:30
поделиться

2 ответа

Текущее решение:

YYYY/MM/DD+YY/MM/DD+DOW
  • все блоки (разделенные + ) являются необязательными, как и все части каждого блока.
  • первый блок обозначает дату начала
    • если пусто - обозначает сегодня
    • , если недостающая часть - обозначает все ... т.е. "// 12" будет обозначать 12-е число каждого месяца.
    • отрицательное значение означает отсчет с конца периода .. т.е. «// - 1» обозначает последний день месяца
    • перерасход переносится в следующий месяц, т.е. «// 40» будет через 40 дней после первого числа месяца
  • второй блок обозначает изменение даты между повторениями
    • если пусто - установить дату (из первого блока)
    • Добавить текущие части - т.е. "/ 1 /" означает каждый месяц после заданной начальной даты
  • третий блок означает день недели, в которую должна быть рассчитана дата. переехал в
    • доступны: [m, t, w, r, f, s, d, b] (7 дней недели, «рабочий день»)

Расчет:

  • Начало расчета в дату, указанную в первом блоке, заполняя недостающие части датой добавления записи.
  • Затем добавляется DOW, чтобы получить действительную дату начала. Это первая дата события.
  • следующая дата рассчитывается путем добавления второго блока к последнему вычисленному первому блоку и добавления DOW, чтобы получить следующую дату.

Примеры:

  • 12 марта, 2008 - «2008/3/12»
  • первое число месяца каждого месяца - «// 1 + / 1 /»
  • третья пятница месяца каждый месяц - «// 21 + / 1 / + f "
  • первый день недели 21-го числа после 13-го числа месяца или позднее -" // 34 + / 1 / + b "
  • каждые 2 недели, начиная с сегодняшнего дня -" + // 14 "
  • последний день каждого второго месяца, начиная с марта - "/ 3 / -1 + / 2 /"
0
ответ дан 17 December 2019 в 22:15
поделиться

Вы забыли выходные, обрабатывая. Если мой счет должен в воскресенье, я хочу, чтобы он обнаружился в пятницу. Такая вещь. Я думаю, что существует три возможности:

  1. Всегда перед выходными
  2. Всегда после выходных
  3. Если это - суббота, в пятницу, и если это - воскресенье в понедельник
1
ответ дан 17 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: