как создать товар авто Генератор кодов python django - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть класс продукта в модели Django. Там есть название продукта, категория и название отдела (внешний ключ).

Итак, я хочу создать автоматический кодовый генератор c, который будет автоматически генерировать 2 или 3 алфавита в качестве имени категории и 3 алфавитного названия отдела и 6-значного номера; например: COM-ELC-000001

class Item(models.Model):
    item_name = models.CharField(max_length=255, blank =True)
    description = models.CharField(max_length=255, blank=True, null=True)
    item_choice = (
        ('IT','IT'), 
        ('Electronics', 'Electronics'),
    )
    item_type = models.CharField(max_length=255, blank =True, choices = item_choice )
    code = models.CharField(unique=True, max_length=255)
    unit = models.CharField(max_length=255, blank=True, null=True)
    company = models.ForeignKey(Company, on_delete = models.SET_NULL, null =True,blank=True)
    department = models.ForeignKey(Department, on_delete = models.SET_NULL,null= True, blank=True)

1 Ответ

0 голосов
/ 05 апреля 2020

в ваших моделях

class Item(models.Model):
    item_name = models.CharField(max_length=255, blank =True)
    description = models.CharField(max_length=255, blank=True, null=True)
    item_choice = (
        ('IT','IT'), 
        ('Electronics', 'Electronics'),
    )
    item_type = models.CharField(max_length=255, blank =True, choices = item_choice )
    code = models.CharField(unique=True, max_length=255)
    unit = models.CharField(max_length=255, blank=True, null=True)
    company = models.ForeignKey(Company, on_delete = models.SET_NULL, null =True,blank=True)
    department = models.ForeignKey(Department, on_delete = models.SET_NULL,null= True, blank=True)

    def save(self, **kwargs):
        code = "%s %s" % (self.item_name[:3], self.item_choice) 
        super(Item, self).save(**kwargs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...