import logging import re from django.conf import settings from django.db import models log = logging.getLogger(__name__) class Product(models.Model): sap_id_regex = r'\b(\d{7})\b' sap = models.CharField(max_length=10, db_column='sap_article_number') name = models.CharField(max_length=100, db_column='short_name') model = models.CharField(max_length=100, db_column='model') gender = models.CharField(max_length=100, db_column='gender') category = models.CharField(max_length=100, db_column='model_product_type') family = models.CharField(max_length=100, db_column='product_family') color = models.CharField(max_length=100, db_column='color') class Meta: managed = False db_table = "adilog_product" @staticmethod def find_sap_ids(text): matches = re.finditer(Product.sap_id_regex, text) return [match.group(1) for match in matches] def serialize(self): return { 'id': self.sap, 'name': self.name, 'model': self.model, 'family': self.family, 'gender': self.gender, 'category': self.category, 'color': self.color, }