【发布时间】:2017-09-04 15:10:39
【问题描述】:
以下是我的模型:
class Product(models.Model):
product_title = models.CharField(max_length=100, null=False,
verbose_name='Product title')
product_description = models.TextField(max_length=250,
verbose_name='Product description')
product_qty = models.IntegerField(verbose_name='Quantity')
product_mrp = models.FloatField(verbose_name='Maximum retail price')
product_offer_price = models.FloatField(verbose_name='Selling price')
我想在保存之前对 product_offer_price 字段进行验证,为此我发布了一个 QUESTION,并得到了有效解决方案的回答。
需要验证的是:
if product_offer_price > product_mrp:
raise ValidationError
现在上述问题的解决方案非常适合管理表单。
但是,我已经实现了 django-import-export,我在管理员中批量导入产品数据,并且在批量导入期间我需要类似的验证。
如何做到这一点?
【问题讨论】:
-
那里有错字吗?在预筹空间? 8 代替 4)
-
是的,已更正。我只是想举例说明需要什么验证以及在哪个字段上。
-
在模型的
clean()方法中进行验证。这应该涵盖来自管理站点的验证和来自任何视图的验证。如果您没有clean()方法,请创建并覆盖一个 -clean()是您所有模型的超级方法。 -
@GautamMandewalker 检查答案)
-
是的,在我的应用程序上进行测试。有时间会更新。
标签: django django-admin django-import-export