@bituke

Как выбрать сразу несколько статусов в django?

модель:
class EbayProduct(models.Model):
    class Status(models.IntegerChoices):
        EBAY_PRODUCT = 0, 'Ebay product'
        READY_TO_LIST = 1, 'Ready to list'
        LISTINGS_TO_REMOVE = 2, 'Listings to remove'
        PRICE_UPDATE_NEEDED = 3, 'Price Update Needed'
        NO_WEIGHT = 4, 'No weight or weight = 0'
        NO_IMAGES = 5, 'No images'
        UPC_EAN_GTIN_NOT_ASSIGNED = 6, 'UPC/EAN/GTIN not assigned'
        NO_EBAY_CATEGORIES = 7, 'No ebay categories'
        PRODUCT_SWITCHED = 8, 'Products Switched off for this selling site'
        UPDATE_BLOCKED = 9, 'Update Blocked'

    ''' fields '''
    product = models.OneToOneField(Product, on_delete=models.CASCADE, related_name='for_ebay')
    status = models.SmallIntegerField(choices=Status.choices, default=Status.EBAY_PRODUCT, verbose_name='status')

проблема в том, что статусов быть может одновременно несколько. Писать отдельную модель для статусов и добавлять их каждый раз в базу данных - мне кажется не вариант. Как можно выбрать сразу несколько статусов в одно поле?
  • Вопрос задан
  • 100 просмотров
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12 Куратор тега Django
Расставляю биты, управляю заряженными частицами
Можно вспомнить что такое биты, И просто устанавливать/проверять соответствующие биты в числе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы