我使用User
中的默认from django.contrib.auth.models import User
类。在创建用户的用户创建过程中,我将用户名字段设置为随机哈希。当我在ManyToMany字段中使用模型并在Django admin中使用它时,随机哈希将显示在选择框中。有没有一种方法可以指定要从选择框中显示的模型中获取的字段,以便我可以将模型指定为ManyToMany字段,并使用电子邮件在django admin表单中呈现。
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管理员中呈现的字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35935133/