schema_fld - это список объектов и как я могу отображать пользовательские имена в теге Select.Я хочу добавить значения в строку отображения модели.Если строка отображения «Apple», то я хочу отобразить ее как «Fruit-Apple» в пользовательском интерфейсе.
Я не могу использовать метод ( str ) в моделях в том виде, в котором он используетсяиспользуется в другой части приложения.Я создал метод в модели 'domval_display', но вызов этого из html не работает.
<table class='no_error'>
<thead>
<tr>
<th>Schema Fields</th>
</tr>
</thead>
<tr>
<td>
{% for hidden in form.hidden_fields %} {{ hidden }} {% endfor %} {{ form.schema_fld.errors.as_ul }}{{ form.schema_fld }}
</td>
</tr>
{% endfor %}
</table>
class SchemaFld(models.Model):
schema_fld_id = models.AutoField(primary_key=True)
fld_name = models.CharField(max_length=256)
schema = models.ForeignKey(TSchema, models.DO_NOTHING)
def domval_display(self):
return 'Fruit-'+str(self.fld_name)
def __str__(self):
return str(str(self.fld_name))
class MappingSetForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
asset = kwargs.pop('asset', None)
super(MappingSetForm, self).__init__(*args, **kwargs)
self.fields['schema_fld'].queryset =self.fields['schema_fld'].queryset.filter(schema_id=asset.src_schema.schema_id)
class Meta:
model = MappingSet
fields = [ 'schema_fld']
widgets = {
'updated_by': forms.HiddenInput(),
}