我有一个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
).
Django 中的模型只是类。您还可以为type
in Task
class.
class Task(models.Mode):
... your code ...
@property
def entity_type(self):
return '{}'.format(self.entity.type)
然后你会打电话{{ form.instance.entity_type }}
在模板中。
在这种情况下,这有点矫枉过正,但在更复杂的情况下,这可能是一个选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)