我如何让django用户模型在获取用户列表时仅返回名字和姓氏(默认为电子邮件)?

时间:2018-07-23 20:52:59

标签: python django django-models django-forms django-templates

所以,我有一个模型表格:

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__方法,但这会影响我整个项目的各个领域,我不希望这样做。我可以采取其他方法吗?

0 个答案:

没有答案