【问题标题】:Django ORM: dynamic columns from reference model in resultsetDjango ORM:来自结果集中参考模型的动态列
【发布时间】:2009-11-26 14:30:06
【问题描述】:

创建一个应用程序来跟踪应计时间。用户有日子,日子有“假期”或“生病”之类的类型

型号:

日类型

  • 姓名

用户日

  • 日期
  • DayType(转为 DayType)
  • 值(+ 表示应计,- 表示使用天数)
  • 注意
  • 总计

我正在尝试生成以下结果集,以跨列扩展日类型。这在 ORM 中是否可行,还是我必须在代码中构建它?

【问题讨论】:

    标签: django django-models django-orm


    【解决方案1】:

    我认为不将 DayType 放在另一个模型中会更轻松。你走这条路有什么特别的原因吗?

    如果没有,你应该在 Django 的fieldschoices 属性处take a look。您的代码将如下所示:

    class UserDay(models.Model):
        DAY_TYPES = (
            ('vac', 'Vacation'),
            ('ill', 'Sick'),
        )
        day_type = models.CharField(max_length=3, choices=DAY_TYPES)
        # Other fields here...
    

    这似乎是一个更清洁的解决方案,因为他们拥有的日子类型不太可能经常改变。此外,您可以通过这种方式存储值来避免数据库表和 FK 查找。

    【讨论】:

      猜你喜欢
      • 2015-06-21
      • 2021-03-27
      • 2017-04-10
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多