我使用User
中的默认from django.contrib.auth.models import User
类。在创建用户时的用户创建中,我将username字段设置为随机散列。当我在ManyToMany字段中使用该模型并在Django管理员中使用它时,随机哈希将在选择框中呈现。有没有办法指定要从模型中取出的字段以显示在选择框中,以便我可以将模型指定为ManyToMany字段,并使用电子邮件在django管理表单中呈现。
class TestModel(models.Model):
group = models.ManyToManyField(Group, null=True)
user = models.ManyToManyField(User, null=True)
是否有像display_name这样的字段可以传递给模型字段,以便可以从ManyToMany模型中获取相应的字段进行渲染。我正在使用Django 1.5.5
答案 0 :(得分:3)
我认为你需要做这样的事情,
class TestModelAdminForm(forms.ModelForm):
user = forms.MultipleChoiceField(choices=[ (user.id, user.email) for user in User.objects.all()])
class Meta:
model = TestModel
fields = ('user','group')
class TestModelAdmin(admin.ModelAdmin):
form = TestModelAdminForm