在表单clean()方法中抓取POST变量

时间:2009-06-05 13:13:13

标签: django django-admin django-forms validation

是否有一种简单的方法来访问POST变量以在管理表单字段的clean方法中完成一些自定义验证查找?

def clean_order_price(self):
  if not self.cleaned_data['order_price']:
    try:
      existing_price = ProductCostPrice.objects.get(supplier=supplier, product_id=self.cleaned_data['product'], is_latest=True)
    except ProductCostPrice.DoesNotExist:
      existing_price = None
    if not existing_price:
      raise forms.ValidationError('No match found, please enter new price')
    else:
      return existing_price.cost_price_gross
  else:
      return self.cleaned_data

我需要抓取的是'供应商'的帖子变量,它不在此表单的清理数据中,因为供应商字段是父表单的一部分。我能看到抓住它的唯一方法是访问request.POST但在那里没有取得多大成功。

感谢您

1 个答案:

答案 0 :(得分:8)

POST数据包含在self.data