【问题标题】:Why do my Django inlines show multiple forms for single model?为什么我的 Django 内联显示单个模型的多个表单?
【发布时间】:2011-11-19 05:00:24
【问题描述】:

我正在尝试将 User 的管理表单和我的 UserProfile 模型结合起来。我发现了如何做到这一点here,这是可行的。我现在有这个:

#DJANGOPROJECT/generic/admin.py
class UserProfileInline(admin.TabularInline):
    model = UserProfile

class UserAdmin(admin.ModelAdmin):
    inlines = [UserProfileInline]

admin.site.unregister(admin.models.User)
admin.site.register(admin.models.User, UserAdmin)

但是,管理员中生成的表单包含五个用户配置文件表单实例,而不是一个。我不明白这是为什么?

【问题讨论】:

  • 没有更多,我想过但没有。

标签: python mysql django django-admin django-authentication


【解决方案1】:

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin

InlineModelAdmin.extra 控制额外表单的数量 除了初始表单之外,还将显示 formset。见 表单集文档以获取更多信息。

Django 1.2 中的新功能:请参阅发行说明 启用 JavaScript 的浏览器,提供“添加另一个”链接 允许添加任意数量的附加内联 由于额外参数而提供的那些。

如果当前显示的数量不超过动态链接将不会出现 表单超过 max_num,或者如果用户没有 JavaScript 已启用。

InlineModelAdmin.max_num 控制表单的最大数量 在内联中显示。这与数字没有直接关系 对象,但如果值足够小则可以。请参阅限制 可编辑对象的数量以获取更多信息。

尝试将 max_num 设置为 1

【讨论】:

  • 我已将其设置为 0,并且还设置了额外的,这将表单的数量减少到了一个。真奇怪。虽然我有超级用户权限,但我只能从管理员更改我自己的个人资料,当我这样做时,会出现一个额外的表单...
猜你喜欢
  • 2019-04-23
  • 2012-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多