在Django视图中更改模型的选择字段

鲸鱼52Hz

我的模型中有多个字段选择。我想更改雕像的价值。我读了这些文章和这个问题。在那些链接中,有两种方式假定:

  1. 创建另一个模型
  2. MultipleChoiceField

如果我想使用MultipleChoiceField,该怎么办?我读这些链接:12345,和6 ;其中而非云的帮助我,我可以什么都不懂。这也是我的代码:

#models.py
STATUE_CHOICE = (
        ('draft', 'draft'),
        ('future', 'future'),
        ('trash', 'trash'),
        ('publish', 'publish'),
    )
statue = models.CharField(max_length=10, choices=STATUE_CHOICE)

#views.ppy
def delete_admin_trash_post(request, slug):
    post = get_object_or_404(Post, slug=slug)

    if request.method =="POST":
        form = AddPostForm(request.POST, instance=post)
        post.statue = 'trash'
        post.save()    
        return redirect('view_admin_post')
    else:
        form = AddPostForm(instance=post)
    template = 'blog/admin_blog/delete_admin_trash_post.html'
    context = {'form': form}
    return render(request, template, context)

是否可以用简单而完整的方式来解释此方法?

Nimdeveloper

MultipleChoiceField是一个表单小部件。所以您应该以表格形式使用它。窗口小部件已准备就绪,可以使用具有一些用于验证和清除数据的验证器的HTML输入。要创建表单,只需创建一个名为forms.py的新文件(这是添加新文件的常用方法。您可以在views.py中执行此操作),然后使用该文件创建一个表单。默认情况下,带有选择项的charfields模型具有ChoiceField小部件。如果要覆盖它,可以在Meta类的表单中进行。您有一个名为Post的模型:

# models.py
class Post(models.Model):
      STATUE_CHOICE = (
              ('draft', 'draft'),
              ('future', 'future'),
              ('trash', 'trash'),
              ('publish', 'publish'),
          )
      statue = models.CharField(max_length=10, choices=STATUE_CHOICE)
      .
      .

和表单AddPostForm:

# forms.py
# or
# views.py
from .models import Post

class AddPostForm(forms.ModelForm):
      class Meta:
            model = Post
            fields = ('statue',...)
            widgets = {'statue' : forms.MultipleChoiceField(choices=Post.STATUE_CHOICE)}

本文可能是有用的:https : //docs.djangoproject.com/en/2.2/topics/forms/modelforms/#overriding-the-default-fields

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从视图中更改模型中布尔字段的值?

如何从Django API视图中的模型获取字段

Django:在通用视图中选择模型的下拉列表

在视图中更改初始表单字段值(Django)

Django:在视图中操作模型

如何从 django 中的视图更改模型字段值

选择特定选项后,如何更改Django模型字段的值?

如何从Angular的视图中更改模型?

Django 无法处理视图中的 ManyToMany 表单字段以创建和保存新模型实例

如何在通用视图中向Django模型字段的help_text添加样式

详情视图中的Django get_object_or_404未返回Page模型中的所有字段

更改物化视图中的字段-Oracle

Django,模型对象未显示在视图中

在 django restframework 视图中更新模型

根据视图中的条件更改表单中的必填字段(Django)

Django在视图中设置布尔字段值

选择 Angular 2+ 更改模型视图

Django模型:如何在我的视图中获取模型对象

如何在视图中的模型中保存表单字段

在视图中显示来自belongs_to模型的字段

如何在 Django 的基于类的视图中将模型表单字段分配给当前登录的用户

MVVM-更改视图模型中的字段时验证模型

如何在视图中选择模型的特殊索引?

在保存模型之前从视图中更改用户输入

在管理员视图中更改模型的顺序

模型更改未反映在angularjs的视图中

如何更改模型(从指令内)以在视图中更新?申请?

Django模型选择字段命名约定

特定模型的 Django ModelForm 动态字段选择