我使用 from django.contrib.auth.models import User
中的默认 User
类。在创建用户时,我将用户名字段设置为随机哈希。当我在 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
最佳答案
我认为你需要做这样的事情
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
关于python - 指定要在 django admin 中呈现的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35935133/