python - 指定要在 django admin 中呈现的字段

标签 python django

我使用 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/

相关文章:

python - 能够通过IDE、命令行运行Python3脚本,但不能通过双击或任务计划程序运行

python - 创建 C :\Anaconda2 directory 的 Python(x,y) 安装出现问题

python - 如何使用可变长度arg列表制作django自定义模板标签

django m2m_changed通过模型自定义

python - Django urls 直接到 html 模板

python - Django错误-django.db.utils.DataError : value too long for type character varying(1)

python - Django + SWFUpload 的代码示例?

python - Django - 显示图像和图像链接

python - 从一个列表中的另一个列表的元组中查找元组需要快速算法。套?

python - redis.exceptions.ConnectionError : Error 97 connecting to localhost:6379. 协议(protocol)不支持的地址族