我正在尝试使用CreateView和自动生成的表单创建新元素。
class OrderSelected(CreateView):
model = Wynajem
template_name = "order_room.html"
success_url = '/my_orders/'
如何将默认值添加到几个Wynajem的字段,并检查通过post方法发送的其他字段是否正常?
还有另一个问题。 默认值是url:
中的参数url(r'^order/(?P<room>\d+)/$', login_required(OrderSelected.as_view()), name='order')
我想设置一个具有房间价值的字段。
答案 0 :(得分:3)
提供get_initial
方法,该方法将字典映射字段返回到其默认值。
class MyView(CreateView):
# ...
def get_initial(self):
return { 'some_field': 'some_default_value' }
这就是表单框架的用途(处理验证) - 修改表单或对其进行子类化,并在将其提供给您的类之前进行必要的修改。
class MyForm(FormToSubclass):
def clean_fieldname(self):
fieldname_value = self.cleaned_data.get('fieldname')
# check if field is valid.