python - 如何创建个性化的 Django 管理模型?

标签 python django django-admin

我正在编写一个 Django 应用程序,我需要创建一个个性化的管理模型,以便在创建新对象时仅在管理界面中显示确定的项目。

我为 admin.py 编写了这段代码:

from django import forms
from myapp.models import *
from django.contrib import admin

class SimAdmin(admin.ModelAdmin):
    phone = forms.ModelChoiceField(queryset=Item.objects.filter(name='phone'))
    fields = ('phone', 'num_phone', 'pin', 'puk')

admin.site.register(Item)
admin.site.register(Sim, SimAdmin)
...

问题是当我登录管理站点时,我的 SimAdmin 没有出现。 Django 不会在这段代码中给我任何错误,但如果我只写

...
admin.site.register(SimAdmin)
...

它给了我一个

TypeError: 'MediaDefiningClass' object is not iterable

在这一行。

我在网络和文档中搜索了此错误,但没有找到与我的具体问题相关的任何内容。我认为解决方案会很简单,但我看不到。有人可以帮助我吗?

谢谢!

最佳答案

这是不正确的:

class SimAdmin(admin.ModelAdmin):
    phone = forms.ModelChoiceField(queryset=Item.objects.filter(name='phone'))

您正在尝试将 forms.Field 附加到 admin.ModelAdmin。这是行不通的。

看看如何实现:http://docs.djangoproject.com/en/1.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.formfield_for_manytomany

关于python - 如何创建个性化的 Django 管理模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4569101/

相关文章:

Python 模型回调

javascript - 如何将 jQuery 单击事件添加到 Django 管理保存并继续按钮?

python - Django - 验证模型和 ModelForm 中计算字段的唯一性

python - Django hook 根据站点拒绝用户访问管理员

django - django 中针对不同用户类型的单独 'admin' 接口(interface)

python - 如何修复 Numpy 中的索引错误以用于机器学习模型?

python - PyPy 显示的基准测试结果不准确?

python - 我怎样才能绕过 Keras pad_sequences() 将浮点值四舍五入为零?

django - 在 Django 中建模一个简单的分类帐

django - 我可以创建 django 模型,该模型不会保留在数据库中吗?