g Django形式编辑现有对象

时间:2019-01-15 07:05:59

标签: django django-forms wagtail

我正在遵循GitHub上的wagtail-form-example来将Django Form实现为wagtail。除了能够编辑现有的提交内容之外,我已经完成了所有工作。

这是我到目前为止遵循的代码 https://github.com/gasman/wagtail-form-example/blob/master/flavours/models.py

我尝试了以下代码的几种变体。

def serve(request, id):
   instance = get_object_or_404(MyModel, id=id)
   form = MyForm(request.POST or None, instance=instance)

如果有帮助,我会收到以下消息: int()参数必须是字符串,类似字节的对象或数字,而不是“ builtin_function_or_method”

任何帮助/示例都将不胜感激:)

1 个答案:

答案 0 :(得分:0)

Public Property DataSourceItem as DataTable Get Return CheckBoxList.DataSource End Get Set(ByVal value as DataTable) CheckBoxList.DataSource = value CheckboxList.DataTextField = value.Columns(0).ToString CheckboxList.DataValueField = value.Columns(0).ToString CheckboxList.DataBind() End Set End Property 更改为def serve(self, request):无效。

您的第二个参数def serve(request, id):现在包含id对象,而不是错误提示您的预期int。

首先要遵守方法参数request。这意味着您需要以其他方式查询表单。

例如:serve(self, request)

如果希望将任何形式显示为页面的子页面,则可以使用RoutablePageMixin添加相对于页面的网址。例如:

get_object_or_404(MyModel, id=[some hardcoded id])