相关疑难解决方法(0)

Django readonly字段仅在更改时,但在创建时不会

我有一个名为ManyToManyField 的Team模型players,我希望能够Player在创建时将s 添加到新团队,但在创建后无法修改它.

如果我players只读这样的字段:

# admin.py
class TeamAdmin(admin.ModelAdmin)
    readonly_fields = ['players']

admin.site.register(Team, TeamAdmin)
Run Code Online (Sandbox Code Playgroud)

我将无法将玩家添加到新玩家Team.如何使players字段"创建后只读"或类似的东西?

django django-models django-admin

20
推荐指数
1
解决办法
4049
查看次数

Django 管理员:使用“editable=False”编辑模型字段

我希望管理员能够编辑普通用户无法编辑的字段。例如作者或订阅者等。

我试过这个:Django admin:如何在模型中显示一个标记为 editable=False' 的字段?

(答案中给出的可编辑部分)

但是该字段仍然无法出现在管理页面上。

这里有一些信息供参考:

#models.py
class MyModel(models.Model):
    myfield = models.ManyToManyField(User, blank=True, editable=False)

#admin.py
class MyModelAdminForm(forms.ModelForm):
    myfield = models.ManyToManyField(User, blank=True, editable=True)

    class Meta(object):
        model = MyModel

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm

admin.site.register(MyModel, MyModelAdmin)
Run Code Online (Sandbox Code Playgroud)

如果我将模型更改为状态 editable=True 那么我会在我的管理页面上看到该字段。(如预期)

我正在使用 Django 1.3,Python 2.6

django django-forms django-admin

5
推荐指数
1
解决办法
1万
查看次数