django - 在 django 视图中提交时从验证中排除字段
问题描述
这是我的模型
class Food:
category = models.ForeignKey(
Category, on_delete=models.CASCADE, related_name="foods"
)
name = models.CharField(max_length=255)
这是我的表格
class FoodForm(forms.ModelForm):
location = forms.ModelChoiceField(
choices=CHOICES required=True
)
class Meta:
model = Food
fields = (
"name",
"location",
"category"
)
更新后,我不需要保存位置。我只需要它来过滤类别,因为它取决于它,但我不必保存它。提交更新后,它会抛出错误'Food' object has no attribute 'location'
。有什么办法可以在提交时排除这个字段?
这是我的看法
class FoodUpdateView(BaseUpdateView):
form_class = forms.FoodForm
def get_queryset(self):
return Food.objects.all()
def form_valid(self, form):
return super().form_valid(form)
def form_invalid(self, form):
return redirect(self.get_success_url())
解决方案
推荐阅读
- ios - 如何使用 RealityKit 将 3D 模型放置在参考图像之上?
- reactjs - 单击按钮时更改网格
- asp.net - Search() 操作方法返回 Index View() 时出错
- javascript - 参数返回 undefine 和 php 通过 id 选择返回 null
- vue.js - 如何在 nuxt 中添加@carbon/type
- android - 如何在 Ktor-client for Android 中清除不记名令牌
- c++ - 是否可以从枚举创建一个 initializer_list?
- c# - C# 语法帮助、日期格式和将 " 添加到字符串
- swift - 添加第三个 TextField 时不加载 AlertView
- asp.net - 呈现页面时未加载 es-scripts