djang中的模型和数据库视图

2024-10-03 19:21:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为数据库设置django模型,目前我的方法是直接将数据库表映射到模型。然而,在某些情况下,我实际上需要处理一个相对复杂的视图。具体情况是,我有一个表(在报表中,而不是数据库中),它需要显示相关数据库表中的合并列表:

class Entity(Models):
    name = CharField()

class LargeEntity(Entity):
    size = FloatField()

class SmallEntity(Entity):
    type = ForeignKey(SmallEntityType)

报告(和表格)需要显示:

^{pr2}$

这可以通过SQL中的CASE语句来实现,但是由于这种情况在我的数据中经常发生,我宁愿找到一个更简洁的解决方案。在

更改报表格式不是选项,但如果有更好的实现方法,则可以更改数据库。在


Tags: django方法name模型视图数据库列表size
1条回答
网友
1楼 · 发布于 2024-10-03 19:21:21

如果每个实体类型不包含很多属性,则可以创建一个包含所有必需字段的模型,以及该模型中的一个或多个字段,以便通过类型或其他方式区分实体:

class Entity(Models):
    NORMAL, LARGE, SMALL = 0, 1, 2
    ETYPE = (
        (NORMAL, 'Normal'),
        (LARGE, 'Large'),
        (SMALL, 'Small'),
    )
    entity_type = IntegerField(choices=ETYPE,...)

    name = CharField()
    size = FloatField()
    smalltype = ForeignKey(SmallEntityType)
    ...

相关问题 更多 >