首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

django admin中的ModelChoiceField给出了“选择一个有效的选项。该选项不是可用的选项之一。”错误

在Django Admin中,ModelChoiceField是一个表单字段,用于在后台管理界面中选择一个有效的选项。当出现错误消息“选择一个有效的选项。该选项不是可用的选项之一。”时,通常是由于以下原因之一:

  1. 数据库中的外键关联错误:ModelChoiceField通常用于表示与其他模型之间的关联关系。如果数据库中的外键关联存在问题,例如外键字段的值与关联模型中的选项不匹配,就会导致该错误。解决方法是检查数据库中的外键关联是否正确,并确保外键字段的值与关联模型中的选项一致。
  2. 表单验证错误:Django Admin中的表单字段会进行验证,以确保用户输入的值是有效的选项之一。如果用户输入的值不在可用选项列表中,就会触发该错误。解决方法是检查用户输入的值是否正确,并确保其在可用选项列表中。
  3. 自定义验证错误:如果在ModelChoiceField的验证过程中定义了自定义验证逻辑,并且该逻辑判断用户输入的值无效,就会触发该错误。解决方法是检查自定义验证逻辑是否正确,并确保其判断用户输入的值是否有效。

推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云对象存储COS、腾讯云云服务器CVM。

腾讯云数据库MySQL:腾讯云数据库MySQL是一种可扩展的关系型数据库服务,提供高性能、高可靠性的数据库解决方案。它适用于各种规模的应用程序,并提供了自动备份、容灾、监控等功能。了解更多信息,请访问:腾讯云数据库MySQL

腾讯云对象存储COS:腾讯云对象存储COS是一种高可扩展的云存储服务,用于存储和访问各种类型的数据,包括文档、图片、音视频等。它提供了高可靠性、低延迟的数据存储和访问能力,并支持数据的备份、归档、加密等功能。了解更多信息,请访问:腾讯云对象存储COS

腾讯云云服务器CVM:腾讯云云服务器CVM是一种弹性计算服务,提供可扩展的虚拟服务器实例,用于运行各种类型的应用程序。它提供了高性能、高可靠性的计算资源,并支持自动扩展、负载均衡、安全防护等功能。了解更多信息,请访问:腾讯云云服务器CVM

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django Xadmin多对多字段过滤实例

在xadmin是不能像原生admin那样使用formfield_for_manytomany方法来过滤多对多字段 ?...进入xadmin源码,找到了formfield_for_dbfield这个方法,测试是有用,可以过滤第一个选项值 ?...补充知识:django admin后台管理user扩展下拉框及多选框字段 1.首先在models.py编写扩展User所用到userProfile模型及下拉框和多选框选项值所需要模型(因为我所做下拉框和多选框值都是从数据库里面取得...(User) admin.site.register(User, testUserAdmin) 通过这两步就可以试下在django admi台管理User扩展一个下拉框和一个多选框,效果如下图: ?...以上这篇Django Xadmin多对多字段过滤实例就是小编分享大家全部内容了,希望能给大家一个参考。

1.9K20

django form规则组件笔记(附代码)

9.4 initial=None 9.5 obj.as_p 9.6 disabled=False, 9.7 widget=None 10 widget属性可以定义html哪些插件 10.0 choices选项可以从数据库获取...里面就是写对一个规则,比如用户登录规则,对用户名密码长度进行判断 from django.forms import Form from django.forms import fields...,键是和其他属性一样,值就是自定义错误信息 4 form内部原理 5 ajax传值 6 返回数据为json格式 前端ajax进行接收 7 验证格式错误 1 比如要验证前端传过来不是数字...标签或显示内容 就是在后端form文件里面的某一个字段,里面有这个属性,那么将这个对象返回前端,就可以直接显示,获取方法是 动态生成标签 9.2 label_suffix=None...属性可以定义html哪些插件 10.0 choices选项可以从数据库获取 方式一: from django.forms import Form from django.forms import widgets

97410
  • Django来敲门~第一部分【5.1.项目配置settings.py详解】

    ,请确保正确使用它 1.2.4 ADMINS:默认值:() 一个包含2个元素字典,列出了有权接收代码错误提示邮件列表,当DEBUG=False时,如果一个view引发了异常,Django会将详细信息用电子邮件方式发送给这些邮件地址...:True 是否URL添加一个结尾斜线,只有安装了CommonMiddleware之后,选项才起作用 1.2.7 CACHE_BACKEND:默认值:'simple://' 后盾使用cache...当且仅当安装有 CommonMiddleware 后选项有效 1.2.33 ROOT_URLCONF默认值: Not defined 一个字符串,表示你根 URLconf 模块名....默认值: False 当有人从一个有效Django-powered页面访问另一个Django-powered页面时发现404错误(也就是发现一个死链接)时, 是否发送一封邮件 MANAGERS....当且仅当 安装有 CommonMiddleware 时选项有效 1.2.26 SERVER_EMAIL 默认值: 'root@localhost' 用来发送错误信息邮件地址, 比如发送给 ADMINS

    1.1K30

    Django学习笔记之Django Form表单详解

    知识预览 构建一个表单 在Django 构建一个表单 Django Form 类详解 使用表单模板 回到顶部 构建一个表单 假设你想在你网站上创建一个简单表单,以获得用户名字。...这是我们在第一个访问URL 时预期发生情况。 如果表单提交使用POST 请求,那么视图将再次创建一个表单实例并使用请求数据填充它:form = NameForm(request.POST)。...回到顶部 Django Form 类详解 绑定和未绑定表单实例 绑定和未绑定表单 之间区别非常重要: 未绑定表单没有关联数据。当渲染用户时,它将为空或包含默认值。...{'required': '不能为空', 'invalid': '格式错误'} show_hidden_initial=False, 是否在当前插件后面再加一个隐藏且具有默认值插件(可用于检验两次输入是否一直...django.forms.models.ModelChoiceField queryset, # 查询数据库数据 empty_label="----

    4.6K10

    项目配置settings.py详解

    ,请确保正确使用它 1.2.4 ADMINS:默认值:() 一个包含2个元素字典,列出了有权接收代码错误提示邮件列表,当DEBUG=False时,如果一个view引发了异常,Django会将详细信息用电子邮件方式发送给这些邮件地址...:True 是否URL添加一个结尾斜线,只有安装了CommonMiddleware之后,选项才起作用 1.2.7 CACHE_BACKEND:默认值:'simple://' 后盾使用cache...当且仅当安装有 CommonMiddleware 后选项有效 1.2.33 ROOT_URLCONF默认值: Not defined 一个字符串,表示你根 URLconf 模块名....默认值: False 当有人从一个有效Django-powered页面访问另一个Django-powered页面时发现404错误(也就是发现一个死链接)时, 是否发送一封邮件 MANAGERS....Django admin change-list 使用默认时间格式. 有可能系统其它部分也使用格式.

    1.1K10

    Django form表单

    与此同时我们在好多场景下都需要对用户输入做校验,比如校验用户是否输入,输入长度和格式等正不正确,如果用户输入内容有错误就需要在页面上相应位置显示对应错误消息。   ...总结一下,其实form组件主要功能如下: 生成页面可用HTML标签 对用户提交数据进行校验 保留上次输入内容 普通登录 views.py def login(request): error_msg...:   在使用选择标签时,需要注意choices选项可以从数据库获取,但是由于是静态字段,获取值无法实时更新,那么需要自定义构造方法从而达到此目的。...{'required': '不能为空', 'invalid': '格式错误'} show_hidden_initial=False, 是否在当前插件后面再加一个隐藏且具有默认值插件(可用于检验两次输入是否一直...django.forms.models.ModelChoiceField queryset, # 查询数据库数据 empty_label="----

    3.5K50

    Django学习笔记之Django Form表单

    与此同时我们在好多场景下都需要对用户输入做校验,比如校验用户是否输入,输入长度和格式等正不正确。如果用户输入内容有错误就需要在页面上相应位置显示对应错误信息.。...总结一下,其实form组件主要功能如下: 生成页面可用HTML标签 对用户提交数据进行校验 保留上次输入内容 普通登录 views.py def login(request): error_msg...: 在使用选择标签时,需要注意choices选项可以从数据库获取,但是由于是静态字段 ***获取值无法实时更新***,那么需要自定义构造方法从而达到此目的。...{'required': '不能为空', 'invalid': '格式错误'} show_hidden_initial=False, 是否在当前插件后面再加一个隐藏且具有默认值插件(可用于检验两次输入是否一直...django.forms.models.ModelChoiceField queryset, # 查询数据库数据 empty_label="----

    1.7K40

    Django form表单

    Django Form表单 Form介绍  总结一下,其实Django form组件主要功能如下: 生成页面可用HTML标签 对用户提交数据进行校验 保留上次输入内容 form表单作用:   ...: 在使用选择标签时,需要注意choices选项可以从数据库获取,但是由于是静态字段 ***获取值无法实时更新***,那么需要自定义构造方法从而达到此目的。...django.forms.models.ModelChoiceField queryset, # 查询数据库数据 empty_label="----...fields=[fields.CharField(max_length=20), fields.EmailField(),]) MultiValueField(Field) PS: 抽象类,子类可以实现聚合多个字典去匹配一个值...%f', '%H:%M'] FilePathField(ChoiceField) 文件选项,目录下文件显示在页面 path, 文件夹路径

    4.3K40

    35.Django2.0文档

    如果只想在上级代码块基础上添加内容,而不是全部重载,变量就显得非常有用了。 不允许在同一个模板定义多个同名 {% block %} 。...层处理与数据相关所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间关系等    T:代表模板(Template),即表现层。...它从可用年份开始,然后逐层细分到月乃至日。 ? 请注意,date_hierarchy接受是* 字符串* ,而不是元组。因为只能对一个日期型字段进行层次划分。  ...例如,你可以一个用户添加和修改publishers权限,而不给他删除权限。 请注意,这些权限是定义在模块级别上,而不是对象级别上。...如果你某人编辑用户权限,他可以编辑自己权限,这种能力可能不是你希望。 赋予一个用户修改用户权限,本质上说就是把他变成一个超级用户。你也可以组中分配用户。

    11.3K100

    Form和ModelForm组件

    ,需要注意choices选项可以配置从数据库获取,但是由于是静态字段 获取值无法实时更新,需要重写构造方法从而实现choice实时更新。...django.forms.models.ModelChoiceField queryset, # 查询数据库数据 empty_label="----...举个例子,你也许会有个Book 模型,并且你还想创建一个form表单用来添加和编辑书籍信息到这个模型。 在这种情况下,在form表单定义字段将是冗余,因为我们已经在模型定义了那些字段。...基于这个原因,Django 提供一个辅助类来让我们可以从Django 模型创建Form,这就是ModelForm。 modelForm定义 form与model终极结合。...如果我们不重写具体字段并设置validators属性化,ModelForm是按照模型字段validators来校验。 save()方法 每个ModelForm还具有一个save()方法。

    5K10

    10个实用Django建议

    URL地址)尽管它还不是最高级技巧,但是它确实值得你应用于Django项目中。...2、 尝试把Django admin应用到PHP项目中 Django最伟大特性之一就是已经成为Django核心功能用户验证系统。它易安装,主要用于用户认证和其它一些必要配置。...3、 使用独立媒体服务器 在开发环境把静态文件放在与Django项目所在同一台服务器问题并不大,但是却不要使用在生产环境,为什么?效率问题。Jacobian.org给出了一个合理解释。...它包含如下几个主题 模板: 模板标签及可选项 模板过滤器及可选项 日期格式化语法快速查阅 模型: 域和及选项 常用域选项 元类型可选项 模型管理可选项 表单: 域和可选项 常用域可选项 标准错误消息键值...8、 使用Memcache 如果性能在你Django项目中已经成为一个棘手问题,那么你将需要使用一些缓存策略。然而Django为缓存提供很多选择

    1.5K80

    Django模型

    django会为表创建自动增长主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长主键列。...默认创建主键列属性为id,也可以使用pk,意为primary key. 字段名称不能出现双下划线,因为这是Django查询语法之一。...外键 外键这个东西,通常都是在业务逻辑层面来实现,而不是在数据库实现。但是通常大家学习数据库课程,都会有数据库设计范式,其中有个第三范式就是专指外键约束。在这里只是简单介绍一下。...,仅在字段null=True允许为null时可用 SET_DEFAULT设置为默认值,仅在字段设置了默认值时可用 SET()设置为特定值或者调用特定方法 DO_NOTHING不做任何操作,如果数据库前置指明级联性...,此选项会抛出IntegrityError异常 注意:我们在数据库,设置外键时候需要制定另一张表关联字段,但是在Django里并没有指定。

    1.9K20

    37.Django1.11.6文档

    如果设置了choices ,默认表单将是一个选择框而不是标准文本框,而且这个选择选项就是choices 选项。...验证给定值在选项列表存在。 错误信息键:required, invalid_choice invalid_choice 错误消息可能包含%(value)s,它将被选择选项替换掉。...它们呈现用户一个可以选择选项列表。 不同小部件呈现出不同选择;Select小部件本身使用 HTML列表表示,而RadioSelect使用单选按钮。...django.forms.ModelChoiceField,其选项是模型ForeignKey。...但是,当选择多个时多选框非常难用. 添加一个 ManyToManyField到列表将使用一个漂亮低调JavaScript“过滤器”界面,允许搜索选项。 选和不选选项框并排出现。

    24.3K80

    Django之Form表单

    Django From简介 我们之前在HTML页面利用form表单向后端提交数据时,都会写一些获取用户输入标签并且用form标签把它们包起来。...与此同时我们在好多场景下都需要对用户输入做校验,比如校验用户是否输入,输入长度和格式等正不正确。如果用户输入内容有错误就需要在页面上相应位置显示显示对应错误信息.。...总结一下,其实form组件主要功能如下: 生成页面可用HTML标签 对用户提交数据进行校验 保留上次输入内容 Django Form登录表单示例 1、views.py里定义一个类 class LoginForm...{'required': '不能为空', 'invalid': '格式错误'} show_hidden_initial=False, 是否在当前插件后面再加一个隐藏且具有默认值插件(可用于检验两次输入是否一直...django.forms.models.ModelChoiceField queryset, # 查询数据库数据 empty_label="----

    2.8K60

    django 1.8 官方文档翻译: 1-2-2 编写你一个Django应用,第2部分

    如果看到这,而不是上面的登录界面,那你应该得到一个类似如下所示错误页面报告: ImportError at /admin/ cannot import name patterns ... > 那么你很可能使用...日期有一个 “Today” 快捷方式和弹出式日历,而时间有个 “Now” 快捷方式和一个出了常用时间选项弹出式窗口。...这很简单: from polls.models import Choice admin.site.register(Choice) 现在 “Choices” 在 Django 管理网站上是一个可用选项了...Add choice” 表单 看起来像这样: 表单,Poll 字段是一个包含了数据库每个 poll 选择框。...我们 poll 应用不是很复杂并不需要自定义管理模板。但是如果它变得更复杂 而且为了一些功能需要修改 Django 标准管理模板,修改应用模板将是更 明智选择,而不是修改项目模板。

    2.5K40
    领券