【发布时间】:2018-05-18 06:24:09
【问题描述】:
我有一个 Task 模型,其中包括任务和实体的外键:
class Task(models.Model):
task = models.CharField(max_length=500)
entity = models.ForeignKey(Entity)
我有一个模型与Task 中的一个外键相关:
class Entity(models.Model):
entity = models.CharField(max_length=50)
type = models.CharField(max_length=50)
def __str__(self):
return self.entity
Task 被放入模型表单中:
class TaskForm(ModelForm):
class Meta:
model = Task
fields = [
'task',
'entity'
]
模型表单在模板中显示如下:
{{ form.task }}
{{ form.instance.entity }}
如何包含{{ form.instance.type }} 的等价物?这将涉及以某种方式在同一模型形式中包含两个__str__ 表示。我已经看到 label_from_instance 用于覆盖模型表单,但这看起来只有 ModelChoiceFields 才有可能。此外,它会将字段呈现为小部件而不是文本(如form.instance)。
【问题讨论】:
-
你想要
{{ form.instance.entity.type }}吗?
标签: python django python-3.x django-models django-forms