【问题标题】:Django Create Array in Django modelsDjango 在 Django 模型中创建数组
【发布时间】:2020-04-04 18:08:33
【问题描述】:

我想为以下数据创建 Django 模型: 如何为activity_periods 和成员创建数组?

{
    "ok": true,
    "members": [{
            "id": "W012A3CDE",
            "real_name": "Egon Spengler",
            "tz": "America/Los_Angeles",
            "activity_periods": [{
                    "start_time": "Feb 1 2020  1:33PM",
                    "end_time": "Feb 1 2020 1:54PM"
                },
                {
                    "start_time": "Mar 1 2020  11:11AM",
                    "end_time": "Mar 1 2020 2:00PM"
                },
                {
                    "start_time": "Mar 16 2020  5:33PM",
                    "end_time": "Mar 16 2020 8:02PM"
                }
            ]
        },
        {
            "id": "W07QCRPA4",
            "real_name": "Glinda Southgood",
            "tz": "Asia/Kolkata",
            "activity_periods": [{
                    "start_time": "Feb 1 2020  1:33PM",
                    "end_time": "Feb 1 2020 1:54PM"
                },
                {
                    "start_time": "Mar 1 2020  11:11AM",
                    "end_time": "Mar 1 2020 2:00PM"
                },
                {
                    "start_time": "Mar 16 2020  5:33PM",
                    "end_time": "Mar 16 2020 8:02PM"
                }
            ]

【问题讨论】:

  • 您能否发布您目前的位置,您是否检查过 django 文档中有关创建模型的一般信息?我希望您能找到所需的帮助,如果您有任何代码,请发布或尝试编辑您的问题以更具体

标签: python-3.x list django-models django-rest-framework jsonparser


【解决方案1】:

这通常是ForeignKey 的用例

from timezone_field import TimeZoneField

class Member(models.Model):
   id = models.CharField()
   real_name = models.CherField()
   tz = TimeZoneField(default='Europe/London')

class Period(models.Model):
   member = models.ForeignKey(Member, on_delete=models.CASCADE)
   start = models.DateTimeField()
   end = models.DateTimeField()

这样,您将能够编写Period 特定的方法(例如:计算时间范围)

【讨论】:

    猜你喜欢
    • 2012-10-15
    • 2018-12-29
    • 2022-10-04
    • 2018-12-29
    • 1970-01-01
    • 2021-03-09
    • 2013-03-25
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多