Можно ли использовать React.context для совместного использования общего объекта?

Sry его немного запутывает для меня, но на основе того, что я понял, возможно, вы можете объявить все функции в своем классе и использовать slug_treament в качестве параметра, к которому будет вызываться функция, когда вам нужно.

Lets сделайте это немного

YEAR_CAMEL_MONTH=1 
YEAR_MONTH=2
SLUG_TREATEMENTS_CHOICES = [
        (YEAR_CAMEL_MONTH: 'year_camel_month'),
        (YEAR_MONTH: 'year_month'),
    ]

class DataSourceFamilies(models.Model):
    ...
    slug = models.CharField(max_length=200, blank=False)
    slug_treatment = models.IntegerField(choices=SLUG_TREATMENT_CHOICES)

    def year_camel_month(self):
        ... # Your logic
        return formated_slug

    def year_month(self):
        ... # Your logic
        return formated_slug

    def save(self *args **kwargs):
        if self.slug_treatment == YEAR_CAMEL_MONTH:
            self.slug = self.year_camel_month()
        elif self.slug_treatment == YEAR_MONTH:
            self.slug = self.year_month()
        super(DataSourceFamilies, self).save(*args, **kwargs)

Или вы можете использовать его как метод prorperty вместо сохраняемых данных (так что slug будет оцениваться каждый раз при вызове вашего запроса, поэтому он является динамическим, а не постоянным » Obs .: методы свойств работают как столбцы из вашей базы данных, но не сохраняются, как CAST в базе данных

class DataSourceFamilies(models.Model):
    ...        
    slug_treatment = models.IntegerField(choices=SLUG_TREATMENT_CHOICES)

    @property
    def slug(self):
        if self.slug_treatment == YEAR_CAMEL_MONTH:
            return slug = self.year_camel_month()
        elif self.slug_treatment == YEAR_MONTH:
            return slug = self.year_month()

https://docs.djangoproject.com/en /2.0/topics/db/models/

Замечание. Если вы пытаетесь получить код из текста и оценить его в python, я думаю, его можно, но очень опасно, и я не рекомендую его

0
задан Bartlomiej Lewandowski 19 January 2019 в 12:35
поделиться

1 ответ

Да, вы можете. Если вы обеспокоены тем, что импорт модуля несколько раз создает несколько экземпляров объекта списка, когда вы выполняете импорт, например import { a, b } from './file, ссылка на ./file указывается только один раз ( Ознакомьтесь с ответом на стекопоток ). ]

Я думаю, что ваш синтаксис немного не соответствует, он должен быть

<Provider value={{ list, updateList }}>
0
ответ дан Derek Nguyen 19 January 2019 в 12:35
поделиться
Другие вопросы по тегам:

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