所以,我有一个模型表格:
NewAccountForm(ModelForm):
class Meta:
model = Account
fields = ['owner', 'account_name']
def __init__(self, *args, **kwargs):
super(NewAccountForm, self).__init__(*args, **kwargs)
Account
的模型:
class Account(models.Model):
owner = models.ForeignKey(User, limit_choices_to={'is_staff': True})
account_name = models.CharField(max_length=32)
在我的模板中:
{% render_field account_form.owner class="form-control m-b" name="owner" %}
这使我可以看到所有作为职员的用户的下拉列表,但是却给我类似的东西:
<select class="form-control m-b" id="id_owner" name="owner">
<option value="" selected="selected">---------</option>
<option value="1">Carl Rogers (carl_rogers@myorg.com)</option>
如何让它仅返回Carl Rogers
,而没有括号中的电子邮件?如果没有名字和姓氏,则返回电子邮件。
像这样:
<option value="1">Carl Rogers</option>
我阅读了类似问题的其他答案,这些答案建议编辑django User模型并在其中添加meta __str__
方法,但这会影响我整个项目的各个领域,我不希望这样做。我可以采取其他方法吗?