Python 在django admin中验证解析的数据
我是Django的新手。我想在Django admin中对上传的xml文件中解析的数据进行重复验证检查Python 在django admin中验证解析的数据,python,django,validation,Python,Django,Validation,我是Django的新手。我想在Django admin中对上传的xml文件中解析的数据进行重复验证检查 管理员上传xml文件 提取所需的数据 验证数据库中是否已存在数据 如果是,则引发validationError 如果否,则保存模型 除第3点外,上述各点均有效。我不确定应该在admin.py的哪个位置检查该值是否已经存在 代码来自admin.py def save_model(self, request, obj, form, change): if not change:
admin.py
的哪个位置检查该值是否已经存在
代码来自admin.py
def save_model(self, request, obj, form, change):
if not change:
category_name, module_names = \
self.handle_uploaded_file(request.FILES['category_file'])
.......................................................................
def handle_uploaded_file(self, f):
#Upload the file
..................................
return self.parse_uploaded_xml(name)
def parse_uploaded_xml(self, name):
tree = ET.parse(name)
root = tree.getroot()
category_name = root[0].text
..............................
#return the category name and module name
来自models.py的代码
category_name = models.CharField(max_length=150, blank=False, null=True, default="", unique=True)
module_name = models.TextField(blank=False, null=True)
我想使用以下代码进行验证
def clean_category_name(self):
if self.category_name and Category.objects.filter(category_name=self.category_name).exists():
raise ValidationError('This category is already in the database. Please supply a different category.')
unique=true
在上载文件/添加类别时不起作用,但在编辑单个类别时起作用
非常感谢您的任何帮助/链接/建议。提前谢谢