我有两个模型:PrimaryEntity
和SecondaryEntity
。当我基于PrimaryEntity
呈现表单时,我希望在某些表单标签上有一个工具提示,显示SecondaryEntity
中特定列的数据。
以下是模型示例:
class PrimaryEntity(models.Model):
some_field1 = models.TextField(default=None, blank=False, null=True)
some_field2 = models.CharField(default=None, max_length=255, blank=True, null=True)
some_field3 = models.CharField(default=None, max_length=255, blank=True, null=True)
some_field4 = models.CharField(default=None, max_length=255, blank=True, null=True)
class SecondaryEntity(models.Model):
field1 = models.TextField(default=None, blank=False, null=True)
field2 = models.CharField(default=None, max_length=255, blank=True, null=True)
field3 = models.CharField(default=None, max_length=255, blank=True, null=True)
field4 = models.CharField(default=None, max_length=255, blank=True, null=True)
因此,当我基于change_form.html
呈现PrimaryEntity
时,我想启用PrimaryEntity.some_field1
的标签,以便在SecondaryEntity.field1
中呈现数据。工具提示。
所以问题是:
ModelAdmin
中包含2个模型?如何使用数据操作标签?我应该坚持使用django管理平台,还是这类任务最适合作为自定义管理页面?
更新
或者制作一个并排的字段也可以完成工作,而不是工具提示方法。
换句话说:
______________________________ ______________________________
| | |
| | |
| SecondaryEntity.field1 | PrimaryEntity.some_field1 |
| | |
|______________________________|______________________________|
SecondaryEntity.field1
在表单中只读。
答案 0 :(得分:0)
问题是,两个模型之间没有关系。 PrimaryEntity中应该有一个OneToOneField或ForeigkKey字段。遵循它的外观的简短版本。
class PrimaryEntity(models.Model):
some_field1 = models.TextField(default=None, blank=False, null=True)
class SecondaryEntity(models.Model):
field1 = models.TextField(default=None, blank=False, null=True)
primary_entity = models.OneToOneField(PrimaryEntity)
@property
def some_field1(self):
return self.primary_entity.some_field1
然后您可以在管理员中显示该属性。只需将其添加到list_display。