我正在使用django-smart-selects部署特定表单字段,这些字段基于在相同表单中选择的选项。 我有以下型号:
Session
,与ManyToMany
Metrics
的关系
Session
型号
class Session(models.Model):
corporal_structures = models.ForeignKey(SingleBodySegment)
movement = ChainedManyToManyField(
Movements,
chained_field = 'corporal_structures',
chained_model_field = 'corporal_segments'
)
metrics = models.ManyToManyField(Metrics, blank=True)
date_session_begin = models.DateTimeField(default=timezone.now())
date_session_end = models.DateTimeField(default=timezone.now())
observations = models.TextField(blank=False
)
Metrics
型号
class Metrics(models.Model):
name = models.CharField(max_length=255, blank=True)
equation = models.CharField(max_length=255, blank=True)
min_value = models.DecimalField(max_digits=5,decimal_places=3)
max_value = models.DecimalField(max_digits=5,decimal_places=3)
def __str__(self):
return "%s" % self.name
由于ManyToMany
关系,在Sessions
表单中(在django admin中),我可以看到Metrics
模型的指标列表,但我只能看到{{ 1}} name
实例的属性,格式为
我想要的不仅仅是Metrics
属性,我还希望得到属于name
模型<的equation
,min_value
和max_value
属性/ p>
在模型/表中Metrics
是我创建Metrics实例的地方,但是当我创建Metrics
模型的实例时,我应该为此{{1}表示Session
值实例,具有相应的原生字段,例如:
如何获取Metrics
模型的其他字段并以Session
形式提供?
如果我已将Metrics
和Session
模型与Metrics
关系关联起来,那么这对于获取我想要的模型应该是有用的吗?
我一直在想我更多的是关系主题和Django ORM而不是django-smart-select应用程序。 我不知道我之前的肯定是否擅长
任何方向都将受到赞赏。
答案 0 :(得分:1)
只需更改__str__
模型中存在的魔术函数Metrics
,如下所示。
def __str__(self):
return "{},{},{}".format(self.name, self.min_value, self.max_value)
此方法会覆盖默认的__str__
函数。因此,您可以根据需要修改返回值。