繁体   English   中英

如何从子模型或父模型中显示django字段的值

[英]How to show value of django field conditionaly from child or parent model

我有以下父模型

class Parent(Model):

    value1 = models.CharField(max_length=50)
    value2 = models.CharField(max_length=50)
    .......

和孩子模特

class Child(Model)

     value1 = models.CharField(max_length=10, blank=True, null=True)
     value2 = models.CharField(max_length=10, blank=True, null=True)
     ...........

如何有条件地返回字段值?

如果子项中具有相同名称的字段的值为None,我如何在父字段中显示模板(表/列表或详细信息)。

如果孩子的字段值不是,则显示来自孩子的值。

我可以用同样的方式过滤数据(儿童)吗?


我应该使用一些抽象或代理模型吗? 怎么样?

我添加了一些答案因为我认为我没有准确地描述我的问题。

  1. 我需要创建一些抽象级别,其中顶级模型将具有一些“主要”字段

  2. 顶级的所有衍生物/子级都具有与此顶级相同的字段和一些更具特异性的字段。

  3. 如果其中一个子字段(来自顶层)未显示,则显示顶级字段,

  4. 如果发生了更改,则会显示来自child的值。

  5. 如果在顶级模型上发生更改,则所有未更改的子项将显示顶级模型中的数据。


我的想法是使用ManyToOne关系并且必须对Parent和Child进行建模,其中child将具有与parent(数据dupplication)相同的字段以及一些更多的额外字段。

创建子项时,我计划从父项为copplicated字段提供coppy数据。

对于子节点上的每个dupplicated字段,我计划添加布尔字段以检查字段是否已更改,并在保存子更改字段时将其相应地更改为true。

当Parent save出现时,我计划添加额外的方法来覆盖子字段并复制父数据,如果child boolean(field_changed)设置为false,否则不要覆盖。

有更好的方法吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM