【问题标题】:Passing django-recurrence field via REST API通过 REST API 传递 django-recurrence 字段
【发布时间】:2019-01-05 13:56:18
【问题描述】:

各位, 我在我的应用程序中使用 django 重复字段,并且不清楚通过 REST API 传递时如何格式化该字段。

感谢任何帮助。

from recurrence.fields import RecurrenceField

class Course(models.Model):
    title = models.CharField(max_length=200)
    recurrences = RecurrenceField()

【问题讨论】:

  • 我想我可以通过使用管理 UI 创建字段来进行逆向工程,但要了解格式,因此可以通过另一个应用程序生成,而不是用 Django 编写。 HTTP 200 OK 允许:GET、PUT、PATCH、DELETE、HEAD、OPTIONS 内容类型:application/json 变化:Accept { "id": 1, "recurrences": "RRULE:FREQ=WEEKLY;UNTIL=20190131T080000Z;BYDAY=周二、周四、周五", }

标签: django django-models django-rest-framework


【解决方案1】:

看起来它基于 RFC 2445 https://www.rfc-editor.org/rfc/rfc2445#section-4.8.5.4

格式定义:此属性由以下定义 符号:

 rrule      = "RRULE" rrulparam ":" recur CRLF

 rrulparam  = *(";" xparam)

示例:所有示例均假定美国东部时区。

每天出现 10 次:

 DTSTART;TZID=US-Eastern:19970902T090000
 RRULE:FREQ=DAILY;COUNT=10

 ==> (1997 9:00 AM EDT)September 2-11

1997 年 12 月 24 日之前的每天:

 DTSTART;TZID=US-Eastern:19970902T090000
 RRULE:FREQ=DAILY;UNTIL=19971224T000000Z

 ==> (1997 9:00 AM EDT)September 2-30;October 1-25
     (1997 9:00 AM EST)October 26-31;November 1-30;December 1-23

每隔一天 - 永远:

 DTSTART;TZID=US-Eastern:19970902T090000
 RRULE:FREQ=DAILY;INTERVAL=2
 ==> (1997 9:00 AM EDT)September2,4,6,8...24,26,28,30;
      October 2,4,6...20,22,24
     (1997 9:00 AM EST)October 26,28,30;November 1,3,5,7...25,27,29;
      Dec 1,3,...

【讨论】:

    猜你喜欢
    • 2020-09-25
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    相关资源
    最近更新 更多